CN107463368A - 一种静态和动态人机界面自动生成方法 - Google Patents
一种静态和动态人机界面自动生成方法 Download PDFInfo
- Publication number
- CN107463368A CN107463368A CN201710486914.7A CN201710486914A CN107463368A CN 107463368 A CN107463368 A CN 107463368A CN 201710486914 A CN201710486914 A CN 201710486914A CN 107463368 A CN107463368 A CN 107463368A
- Authority
- CN
- China
- Prior art keywords
- parameter
- machine interface
- man
- interface
- static
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种静态和动态人机界面自动生成方法,包括步骤S1:设计参数属性信息表,所述参数属性信息表的表头内容包括组号、显控类型、参数中文名、参数英文名、元素显示类型、自动生成界面元素标识;步骤S2:设计一个参数属性信息类,用以读取存储每个参数在参数属性信息表中的各种信息;步骤S3:设计各类元素显示属性包括、颜色、长宽、名称的字体、颜色与大小等;步骤S4:调用QXmlStreamWriter类将各类元素写入XML文件,生成静态人机界面;步骤S5:调用各类元素对应的类,新建元素,生成动态人机界面。通过本方法自动生成静态和动态的人机界面不仅约了工时,原理简单,方便于工作人员操作。
Description
技术领域
本发明涉及软件界面生成技术领域,具体的说,是一种静态和动态人机界面自动生成方法。
背景技术
随着各类系统集成化程度越来越高、功能越来越复杂,科研开发人员需要监视和控制的系统运行状况参数也越繁复。当前,基于QT的人机界面元素的生成与设计基本是人工手动生成设计。第一步,在QT Designer中将各类参数的基础元素拖拽至人机界面。第二步,将需要监视或控制的参数与基础元素一一关联对应,即设置元素的名称。第三步,调整元素布局、优化形成静态人机界面,以备主程序调用。这些参数动辄上千条,用人工手动编写、拖拽人机界面元素来关联数量如此巨大的参数必然会耗费大量时间、并且难免出现差错。人工设计的人机界面也难以被非软件专业的人员修改,即不能按意图删除界面原有元素,也不能增加新元素。同时,静态界面元素的调整需要使用专业的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中的参数,进而生成所需要的人机界面,形成动态界面。当需要再次生成界面时,清空窗口小部件向量集以清除界面原有元素,为即将新生成的元素留出空间。通过控制各类元素属性实现界面样式的更改。通过修改参数在配置表中的位置,实现参数在界面位置的更改。通过更改参数的自动生成界面元素标识,确定该参数是否生成。最终实现了静态人机界面和动态人机界面的多次可重复自动生成技术。本发明可实现多达上万个参数的自动生成,并确保正确性为百分之百。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (7)
1.一种静态和动态人机界面自动生成方法,其特征在于:包括以下步骤:
步骤S1:设计一个参数属性信息表,所述参数属性信息表的表头内容包括组号、显控类型、参数中文名、参数英文名、元素显示类型、自动生成界面元素标识;
步骤S2:用平台VS2010与QT5.2联合开发,设计一个参数属性信息类,用以读取存储每个参数在参数属性信息表中的各种信息;
步骤S3:设计各类元素的显示属性;
步骤S4:调用QXmlStreamWriter类将各类元素写入XML文件,生成静态人机界面,依据人机界面*.ui在XML文件中的格式,逐句写入每条语句;
步骤S5:按一定时间间隔轮循重置参数属性信息表中需要更改参数或新建元素,再次重复步骤S1到S4,调用各类元素对应的类,生成动态人机界面。
2.根据权利要求1所述的一种静态和动态人机界面自动生成方法,其特征在于:所述步骤S1中所述组号是指组合装订指令的标识,指令和相关参数为同一组合具有相同的组号,其中组号为空表示单独显控;
所述显控类型值为“1”表示带参指令,“2”表示带参类型参数,为空表示单独显控;
所述参数中文名字表示元素的显示名称,且不可重复,用于在人机界面中进行显示;
所述参数英文名字为中文名字对应的拼音,用于程序内部函数调用;
所述元素显示类型为“0”表示对应元素以小灯的形式显示,“1”表示标签形式,“2”表示文本框,“3”表示按钮;
所述自动生成界面元素标识为:“0”表示不生成,“1”表示生成。
3.根据权利要求1所述的一种静态和动态人机界面自动生成方法,其特征在于:所述步骤S3中需要设计显示属性的元素包括:小灯元素、标签元素、文本框元素以及按键元素。
4.根据权利要求3所述的一种静态和动态人机界面自动生成方法,其特征在于:所述小灯元素可设置属性包括大小与颜色;所述标签元素、文本框元素以及按钮元素可设置属性包括大小、颜色、长宽、名称的字体颜色以及元素间的纵向间距与横向间距。
5.根据权利要求1所述的一种静态和动态人机界面自动生成方法,其特征在于:所述步骤S4将各类元素写入XML文件,具体还包括以下步骤:
步骤S41:写入相应类型的窗口小部件,并对此元素赋予参数的英文名字,用于程序内部函数调用;
步骤S42:根据元素的长宽以及元素在整个界面中的次序,计算出元素在上层小部件中的相对坐标;
步骤S43:写入元素的几何属性,包括元素的长宽以及元素在界面中的坐标值;
步骤S44:写入元素在界面中的显示名称即参数中文名;
步骤S45:写入字体、字号以及颜色等属性。
6.根据权利要求5所述的一种静态和动态人机界面自动生成方法,其特征在于:所述步骤S5在步骤S4的基础上,在每个元素生成的同时,使用该元素的相对坐标以及上层部件在界面中的绝对坐标,计算出该元素在界面中的绝对坐标,设置新元素的坐标、长宽;设置元素名称的字体、字号以及颜色;设置元素在程序内部的参数英文名,接着将元素存入窗口小部件向量集。
7.根据权利要求6所述的一种静态和动态人机界面自动生成方法,其特征在于:当需要再次生成界面时,清空窗口小部件向量集以清除界面原有元素,为即将新生成的元素留出空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710486914.7A CN107463368A (zh) | 2017-06-23 | 2017-06-23 | 一种静态和动态人机界面自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710486914.7A CN107463368A (zh) | 2017-06-23 | 2017-06-23 | 一种静态和动态人机界面自动生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107463368A true CN107463368A (zh) | 2017-12-12 |
Family
ID=60544014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710486914.7A Pending CN107463368A (zh) | 2017-06-23 | 2017-06-23 | 一种静态和动态人机界面自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107463368A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582298A (zh) * | 2018-11-16 | 2019-04-05 | 杨爱军 | 一种软件高效配置化开发的设计方法 |
CN109656547A (zh) * | 2018-07-25 | 2019-04-19 | 深圳点猫科技有限公司 | 一种基于图形编程界面显示矩阵的方法以及电子设备 |
CN110046016A (zh) * | 2019-04-16 | 2019-07-23 | 携程旅游网络技术(上海)有限公司 | 用户界面组件显示的控制方法、系统、设备和存储介质 |
CN110795071A (zh) * | 2019-10-11 | 2020-02-14 | 国电南京自动化股份有限公司 | 支持实时数据动态绑定的用户界面设计和代码分离方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996068A (zh) * | 2009-08-11 | 2011-03-30 | 上海汉光知识产权数据科技有限公司 | 可预存使用模式的动态调整用户界面元素的系统 |
CN105511843A (zh) * | 2014-09-22 | 2016-04-20 | 普天信息技术有限公司 | 一种生成应用程序界面的方法和装置 |
CN105760155A (zh) * | 2016-01-28 | 2016-07-13 | 浪潮通用软件有限公司 | 一种web界面布局方法及装置 |
CN106599233A (zh) * | 2016-12-20 | 2017-04-26 | 国云科技股份有限公司 | 一种可视化的地图热力图生成模拟数据方法 |
-
2017
- 2017-06-23 CN CN201710486914.7A patent/CN107463368A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996068A (zh) * | 2009-08-11 | 2011-03-30 | 上海汉光知识产权数据科技有限公司 | 可预存使用模式的动态调整用户界面元素的系统 |
CN105511843A (zh) * | 2014-09-22 | 2016-04-20 | 普天信息技术有限公司 | 一种生成应用程序界面的方法和装置 |
CN105760155A (zh) * | 2016-01-28 | 2016-07-13 | 浪潮通用软件有限公司 | 一种web界面布局方法及装置 |
CN106599233A (zh) * | 2016-12-20 | 2017-04-26 | 国云科技股份有限公司 | 一种可视化的地图热力图生成模拟数据方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656547A (zh) * | 2018-07-25 | 2019-04-19 | 深圳点猫科技有限公司 | 一种基于图形编程界面显示矩阵的方法以及电子设备 |
CN109582298A (zh) * | 2018-11-16 | 2019-04-05 | 杨爱军 | 一种软件高效配置化开发的设计方法 |
CN110046016A (zh) * | 2019-04-16 | 2019-07-23 | 携程旅游网络技术(上海)有限公司 | 用户界面组件显示的控制方法、系统、设备和存储介质 |
CN110046016B (zh) * | 2019-04-16 | 2021-11-05 | 携程旅游网络技术(上海)有限公司 | 用户界面组件显示的控制方法、系统、设备和存储介质 |
CN110795071A (zh) * | 2019-10-11 | 2020-02-14 | 国电南京自动化股份有限公司 | 支持实时数据动态绑定的用户界面设计和代码分离方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948134A (zh) | 一种报告自动生成方法、系统及电子设备和存储介质 | |
CN107463368A (zh) | 一种静态和动态人机界面自动生成方法 | |
US7522176B2 (en) | Dynamically generating mini-graphs to represent style and template icons | |
CN114035773B (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
CN1961314B (zh) | 修正过程控制数据的方法及装置 | |
CN101258489B (zh) | 用于文档格式化的快速样式 | |
CN108228287A (zh) | 基于qt的用户界面控件的生成方法及装置 | |
US20070150772A1 (en) | Systems and Methods For Hazards Analysis | |
CN103034502B (zh) | 一种在svg界面中嵌入动态实时监测图表的方法 | |
CN106844885B (zh) | 基于bim技术的图框图签设计方法 | |
CN101414301B (zh) | 处理内容管理系统内的储存库中的对象的装置和方法 | |
CN105511843A (zh) | 一种生成应用程序界面的方法和装置 | |
CN109375914A (zh) | 信息远程交互方法和系统 | |
CN107066440A (zh) | 竖排文本的输入控制方法及系统 | |
WO2006041787A2 (en) | Method and apparatus for presenting technical architectural patterns and solutions | |
CN110609989A (zh) | 采用预定义布局组件快速生成信息表单操作方法及应用 | |
CN107480369A (zh) | 一种pcb设计中分类显示drc的设计、操作方法 | |
CN116401407A (zh) | 思维导图的节点属性配置方法、装置、设备和存储介质 | |
US20130205275A1 (en) | Integrated development environment and method | |
CN109491884A (zh) | 代码性能检测方法、装置、计算机设备和介质 | |
Gischel | EPLAN Electric P8 Reference Handbook | |
Canny | Python-ptx Documentation | |
CN105408899B (zh) | 解析装置和解析方法 | |
CN103838903A (zh) | 一种通过用自定义字体库创建Label的方法 | |
CN103488632A (zh) | 一种通用多数据项显示动态调整方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171212 |
|
RJ01 | Rejection of invention patent application after publication |