一种静态和动态人机界面自动生成方法与流程

文档序号:13164121阅读:316来源:国知局

本发明涉及软件界面生成技术领域,具体的说,是一种静态和动态人机界面自动生成方法。



背景技术:

随着各类系统集成化程度越来越高、功能越来越复杂,科研开发人员需要监视和控制的系统运行状况参数也越繁复。当前,基于qt的人机界面元素的生成与设计基本是人工手动生成设计。第一步,在qtdesigner中将各类参数的基础元素拖拽至人机界面。第二步,将需要监视或控制的参数与基础元素一一关联对应,即设置元素的名称。第三步,调整元素布局、优化形成静态人机界面,以备主程序调用。这些参数动辄上千条,用人工手动编写、拖拽人机界面元素来关联数量如此巨大的参数必然会耗费大量时间、并且难免出现差错。人工设计的人机界面也难以被非软件专业的人员修改,即不能按意图删除界面原有元素,也不能增加新元素。同时,静态界面元素的调整需要使用专业的qt软件环境。这种缺陷在没有技术支持并且又急需更改监控参数的情况下尤为显著。



技术实现要素:

本发明的目的在于提供一种静态和动态人机界面自动生成方法,能够实现静态人机界面和动态人机界面的多次可重复自动生成,即使是非软件专业的科技人员通过本方法实现对界面样式的修改、监控参数的增减。

本发明通过下述技术方案实现:一种静态和动态人机界面自动生成方法具体包括以下几个步骤:

步骤s1:设计一个参数属性信息表,所述参数属性信息表的表头内容包括组号、显控类型、参数中文名、参数英文名、元素显示类型、自动生成界面元素标识;

步骤s2:用平台vs2010与qt5.2联合开发,设计一个参数属性信息类,用以读取存储每个参数在参数属性信息表中的各种信息,,vs2010用于提供一个编译环境,qt5.2用于提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能,qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。;

步骤s3:设计各类元素显示属性包括、颜色、长宽、名称的字体、颜色与大小等,元素间的纵向与横向间距;

步骤s4:调用qxmlstreamwriter类将各类元素写入xml文件,生成静态人机界面,依据人机界面*.ui在xml文件中的格式,逐句写入每条语句。

步骤s5:按一定时间间隔,轮换循环重置所需更换参数也可新建元素,再调用步骤s2中所设计的各类元素对应的类,然后实时输入需要更改参数再实时生成动态人机界面。

为了更好的实现本发明,进一步地,所述步骤s1中所述组号是指组合装订指令的标识,指令和相关参数为同一组合具有相同的组号,其中组号为空表示单独显控。

所述显控类型值为“1”表示带参指令,“2”表示带参类型参数,为空表示单独显控。

所述参数中文名字表示元素的显示名称,且不可重复,用于在人机界面中进行显示。

所述参数英文名字为中文名字对应的拼音,用于程序内部函数调用。

所述元素显示类型为“0”表示对应元素以小灯的形式显示,“1”表示标签形式,“2”表示文本框,“3”表示按钮。

为了更好的实现本发明,进一步地,所述步骤s3中需要设计的显示元素包括:小灯元素、标签元素、文本框元素以及按键元素。

为了更好的实现本发明,进一步地,所述小灯元素可设置属性包括大小与颜色;所述标签元素、文本框元素以及按钮元素可设置属性包括大小、颜色、长宽、名称的字体颜色以及元素间的纵向间距与横向间距。

为了更好的实现本发明,进一步地,所述步骤s4将各类元素写入xml文件,具体还包括以下步骤:

步骤s41:写入相应类型的窗口小部件,并对此元素赋予参数的英文名字,用于程序内部函数调用。

步骤s42:根据元素的长宽以及元素在整个界面中的次序,计算出元素在上层小部件中的相对坐标。

步骤s43:写入元素的几何属性,包括元素的长宽以及元素在界面中的坐标值。

步骤s44:写入元素在界面中的显示名称即参数中文名。

步骤s45:写入字体、字号以及颜色等属性。

为了更好的实现本发明,进一步地,所述步骤s5在步骤s4的基础上,在每个元素生成的同时,使用该元素的相对坐标以及上层部件在界面中的绝对坐标,计算出该元素在界面中的绝对坐标。设置新元素的坐标、长宽;设置元素名称的字体、字号以及颜色;设置元素在程序内部的参数英文名,接着将元素存入窗口小部件向量集。

为了更好的实现本发明,进一步地,当需要再次生成界面时,清空窗口小部件向量集以清除界面原有元素,为即将新生成的元素留出空间。

本发明与现有技术相比,具有以下优点及有益效果:

(1)通过对参数属性信息表和参数属性信息类的优秀设计,实现本方法可以自动生成静态和动态的人机界面,比原有方式不仅极大程度上节约了工时,提升了工作效率而且原理简单,操作简捷即使是非软件专业的科技人员也能够通过本方法实现对人机界面的样式、监控参数进行修改。

(2)通过控制各类元素属性实现界面样式的更改。

(3)通过修改参数在配置表中的位置,实现参数在界面位置的更改。

(4)通过更改参数的自动生成界面元素标识,确定该参数是否生成。

附图说明

图1为本发明的方法步骤图。

具体实施方式

实施例1:

本实施例的一种静态和动态人机界面自动生成方法,如图1所示:包括以下步骤:

步骤s1:设计一种参数属性信息表,表头依次是组号、显控类型、参数中文名、参数英文名、元素显示类型、自动生成界面元素标识等。其中,组号是组合装订指令的标识,指令和相关参数为同一组合具有相同的组号,其中组号为空表示单独显控;显控类型中“1”表示带参指令,“2”表示带参类型参数,为空表示单独显控;参数中文名,表示元素的显示名称,且不可重复;参数英文名字:为中文名字对应的拼音,用于程序内部函数调用;元素显示类型:“0”表示对应元素以小灯的形式显示,“1”表示标签形式,“2”表示文本框,“3”表示按钮;自动生成界面元素标识:“0”表示不生成,“1”表示生成。将所有需要生成的参数的信息按照表头的规定填入每一行,以备下一步骤使用。

步骤s2:设计一个参数属性信息类,用以读取存储每个参数在参数属性信息表中的各种信息,并且将所有参数所对应的类存入到一个列表中。

步骤s3:设计元素显示属性,包括、颜色、长宽、名称的字体、颜色与大小等,元素间的纵向与横向间距。例如,小灯元素可设置属性包括大小与颜色。标签元素、文本框元素以及按钮元素可设置属性包括长宽、名称的字体与颜色等。同时也可以设置各个元素之间的纵向间距与横向间距。

步骤s4:依据格式,将参数写入xml文件,并赋以元素对应属性。这里调用qxmlstreamwriter类将各类元素写入xml文件,生成静态人机界面,依据人机界面*.ui在xml文件中的格式,逐句写入每条语句。qxmlstreamwriter负责前缀命名空间,在编写元素或属性时,所有需要做的是指定namespaceuri。假如必须遵守特定的前缀,可以通过调用writenamespace()或者writedefaultnamespace()手动声明名称空间,让writer强制使用它们。或者,可以绕过qxmlstreamwriter的命名空间支持,并使用重载的方法,而不是使用限定名称。

qxmlstreamwriter可以自动格式化生成的xml数据,通过在元素之间的空白部分添加换行符和缩进,使得xml数据更易读,并且对于大多数源代码管理系统更容易使用。可以使用autoformatting属性(默认被禁用)打开此功能,并使用autoformattingindent属性(包含空格或制表符的数量,默认是4)进行自定义。

步骤s5:调用参数对应元素的相应类在程序界面动态生成控件。调用各类元素对应的类,新建元素,生成动态人机界面。在步骤s104中每个元素生成的同时,使用该元素的相对坐标以及上层部件在界面中的绝对坐标,计算出该元素在界面中的绝对坐标。

设置新元素的坐标、长宽;设置元素名称的字体、字号以及颜色;设置元素在程序内部的参数英文名。接着将元素存入窗口小部件向量集。当需要再次生成界面时,清空窗口小部件向量集以清除界面原有元素,为即将新生成的元素留出空间。

实施例2:

本实施例中举例说明步骤1中如何设计参数属性信息表。

表1

如表1所示:表头内容项依次为组号、显示类型、中文名字、英文名字、元素显示类型、自动生成界面元素标识。

组号是组合装订指令的标识,指令和相关参数为同一组合具有相同的组号,其中组号为空表示单独显控,显控类型值:“1”表示带参指令,“2”表示带参类型参数,为空表示单独显控。参数中文名字:表示元素的显示名称,不可重复。参数英文名字:为中文名字对应的拼音,用于程序内部函数调用。元素显示类型:“0”表示对应元素以小灯的形式显示,“1”表示标签形式,“2”表示文本框,“3”表示按钮。自动生成界面元素标识:“0”表示不生成,“1”表示生成。

如表1所示:在分组中,我们把发动机开、发动机关、发动机状态、发动机电压分为同一类型标识,其指令和相关参数可放入同一组号里,在此,我们把它们放入单独显控中,所以为表中为空白进而它的显控类型也放入同一类中用空白表示,但是在显示元素的类里面,它们具各自字相对应的类去让他们生成不同的元素显示。

如表1所示:像设备上电和设备下电都是用于控制设备上电和下电因此在显控类型中,我们把它分为统一类中,调用此类的相对应函数程序即可实现显示和控制的指令,因此我们用表示带参指令“1”来对它们进行表示;设备编号、设备编号1和设备编号2在显控类型中属于同一类,都是用于控制编号设备,因此在显控类型中我们用带参类型参数“2”来对它们进行表示。

如表所示:对于元素显示类型,相同类型的动作我们用同一种显示来表示,例如发动机状态用小灯的形式“0”显示;发动机电压用标签形式“1”表示;设备编号、设备编号1和设备编号2用文本框形式“2”表示;发动机开、发动机关、设备上电、设备下电等动作用按钮形式“3”表示。这样不仅有效区分了各个显示类型的,而且调用起来清楚明了

实施例3:

本实施例中对本发明所设计方法的工作流程作进一步详述:先根据每个参数所属分类将相应信息填入参数属性信息表,参数在表格中的位置确定参数的生成次序。读取参数属性信息表,以表格中的行为单位将其中的内容按参数分开存放。设计各类元素显示属性,用以控制更改元素在界面的展现形态以及各类元素之间的间距。

将从配置表中读取的内容转化为人机界面元素,计算元素在人机界面中的位置。依据人机界面*.ui在xml文件中的格式,将元素写入xml文件,赋予相应的元素属性,生成静态人机界面,其中,将各类元素写入xml文件,具体还包括以下步骤:步骤s41:写入相应类型的窗口小部件,并对此元素赋予参数的英文名字,用于程序内部函数调用。步骤s42:根据元素的长宽以及元素在整个界面中的次序,计算出元素在上层小部件中的相对坐标。步骤s43:写入元素的几何属性,包括元素的长宽以及元素在界面中的坐标值。步骤s44:写入元素在界面中的显示名称即参数中文名。步骤s45:写入字体、字号以及颜色等属性。调用各类元素对应类在当前程序界面动态生成元素,接着将元素存入窗口小部件向量集。

因为在实施例1中步骤s1到步骤s4已经固定设置了参数,到步骤s4只能生成静态人机界面。若是要生成动态人机界面需进行步骤s5进行每隔一段时间就轮循重置需要更改的参数,然后重新进行步骤s1到步骤s4,根据重新调整、更改步骤s1、步骤s2、步骤s3中的参数,进而生成所需要的人机界面,形成动态界面。当需要再次生成界面时,清空窗口小部件向量集以清除界面原有元素,为即将新生成的元素留出空间。通过控制各类元素属性实现界面样式的更改。通过修改参数在配置表中的位置,实现参数在界面位置的更改。通过更改参数的自动生成界面元素标识,确定该参数是否生成。最终实现了静态人机界面和动态人机界面的多次可重复自动生成技术。本发明可实现多达上万个参数的自动生成,并确保正确性为百分之百。

以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1