CN105893063A - 一种基于xml格式配置文件的应用程序界面及其构建方法 - Google Patents
一种基于xml格式配置文件的应用程序界面及其构建方法 Download PDFInfo
- Publication number
- CN105893063A CN105893063A CN201610428109.4A CN201610428109A CN105893063A CN 105893063 A CN105893063 A CN 105893063A CN 201610428109 A CN201610428109 A CN 201610428109A CN 105893063 A CN105893063 A CN 105893063A
- Authority
- CN
- China
- Prior art keywords
- entry
- configuration
- assembly
- label
- sub
- 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.)
- Granted
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)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于XML格式配置文件的应用程序界面及其构建方法,包括菜单栏组件配置模块、工具栏组件配置模块、锚接窗口组件配置模块、子窗口组件和子控件组件配置模块、配置文件操作模块。通过XML格式的配置文件配置应用程序的基本组件属性,实现应用程序界面的配置;读取XML格式的配置文件,解析各组件的配置参数,并分别按照各自规则和需求进行编码,完成应用程序界面各组件相关配置信息的获取和构建;相同类型组件或条目都公用一个接口函数,在相应的接口函数中编写对应的功能,完成应用程序界面各组件功能的实现,减少了重复性编码工作,提高了工作效率,通过存在属性可显示或隐藏已有功能,便于公用接口函数的管理和维护。
Description
技术领域
本发明涉及计算机应用技术领域,具体涉及应用程序界面的菜单栏、工具栏、锚接窗口、子窗口和子控件等基本组件的配置、构建和接口方法。
背景技术
传统的应用程序界面的设计和开发一般利用现有的集成开发环境,通过编写代码实现界面的设计与开发,要求代码和界面的耦合度极高。在对应用程序增加或删除组件、显示或隐藏功能、多个智能变电站IED设备检测工具功能调试,以及满足不同客户界面需求方面,需要重复性编译每个工程,造成工作冗余、成本增加、效率低下,且容易引进缺陷,影响项目进度。
发明内容
针对上述问题,本发明型提供一种基于XML格式配置文件的应用程序界面及其构建方法,以简易高效的方式配置应用程序界面,实现界面的灵活配置和高效维护。
为解决上述问题,本发明型采取的技术方案为:一种基于XML格式配置文件的应用程序界面及其构建方法,包括:
(1)菜单栏组件配置模块,菜单栏的所有条目都公用一个接口函数,函数参数为菜单栏条目唯一的标识属性,且每个条目也都有其唯一的标识属性,根据条目唯一的标识属性编写对应的功能;包括命名条目、添加图标、修改选中状态和可自动测试属性,且可以调整条目个数;
(2)工具栏组件配置模块,父工具栏条目和子工具条目分别属于父菜单栏条目和子菜单条目范围内,只需要相应设置在工具栏中的存在属性即可;
(3)锚接窗口组件配置模块,锚接窗口的所有组件都公用一个接口函数,函数参数为锚接窗口组件唯一的标识属性,且每个组件也都有其唯一的标识属性,根据组件唯一的标识属性编写对应的功能;包括命名组件、位置、是否叠加、宽度、高度和背景色,且可以调整组件个数;
(4)子窗口组件和子控件组件配置模块,子窗口的所有组件都公用一个接口函数,函数参数为子窗口组件唯一的标识属性,且每个组件也都有其唯一的标识属性,根据组件唯一的标识属性编写对应的功能;包括命名组件、是否可编辑、内容提示属性,且可以调整组件个数;子控件的所有组件都公用一个接口函数,函数参数为子控件组件唯一的标识属性,且每个组件也都有其唯一的标识属性,根据组件唯一的标识属性编写对应的功能;包括命名组件、默认值、数据属性、是否可编辑,且可以调整组件个数;
(5)配置文件操作模块,使用Qt库的QFile类读取XML格式的配置文件,使用QDomDocument类解析菜单栏、工具栏、锚接窗口、子窗口和子控件组件的配置参数,并分别按照各自规则和需求进行编码,完成应用程序界面各组件相关配置信息的获取和构建;
(6)组件功能实现模块,菜单栏、工具栏、锚接窗口、子窗口和子控件组件都有各自公用的接口函数,根据应用程序界面每个条目或组件的唯一标识属性,在相应的接口函数中编写对应的功能,完成应用程序界面各组件功能的实现。
一种基于XML格式配置文件的应用程序界面及其构建方法,包括如下步骤:
步骤一、打开配置文件
利用配置文件中软件自带的“查找”功能,查找到标签Menu、标签DockWidget或标签Operator,或直接滚动鼠标到标签位置;
步骤二、配置菜单栏组件信息
查找到标签为Menu的条目,修改id值和name值属性,完成父菜单栏的属性配置;查找到Menu条目下标签为Action的子条目,修改id值、image值、value值、bChecked值和bAutoTest值属性,完成相应子菜单的属性配置;通过增加或删除Menu条目的或Menu条目下Action子条目的个数,完成父菜单栏或相应子菜单的个数配置;若查找不到标签为Menu的条目或为Action的子条目则转至步骤六;
步骤三、配置工具栏组件信息
从已配置完成的父菜单栏及其子菜单的条目中分别选取父工具栏及其子工具的条目;查找到标签为ToolBar的条目,修改id值和title值属性,完成父工具栏的属性配置;查找到ToolBar条目下标签为Action的子条目,修改id值和存在属性,完成相应子工具的属性配置;查找到标签为ActionGroup的条目,完成该组内子工具条目的互斥属性配置,保证一组子工具内的子工具条目为单选模式,且该配置属性同时作用于子菜单条目;通过增加或删除ToolBar条目的或ToolBar条目下Action子条目的个数,完成父工具栏或相应子工具的个数配置,若查找不到标签为ToolBar的条目或为Action的子条目或为ActionGroup的条目则转至步骤六;
步骤四、配置锚接窗口组件信息
查找到标签为DockWidget的条目,修改id值、title值、position值、tabify值、width值、height值和bgColor值属性,完成锚接窗口组件的属性配置;通过增加或删除DockWidget条目的个数,完成锚接窗口的个数配置,若查找不到标签为DockWidget的条目则转至步骤六;
步骤五、配置子窗口组件和子控件组件信息
查找到标签为Operator的条目,修改id值、name值、ref值和editAttr值属性,完成子窗口的属性配置;查找到Operator条目下标签为Param的子条目,修改id值、name值、value值、type值和editAttr值属性,完成相应子控件的属性配置;通过增加或删除Operator条目的或Param子条目的个数,完成子窗口或相应子控件的个数配置;若查找不到标签为Operator的条目或为Param的子条目则转至步骤六;
步骤六、结束。
本发明通过XML格式的配置文件配置应用程序的基本组件属性,实现应用程序界面的配置。相同类型组件或条目都公用一个接口函数,减少了重复性编码工作,提高了工作效率,通过存在属性可显示或隐藏已有功能,便于公用接口函数的管理和维护。
附图说明
图1是本发明的文件配置步骤流程图;
图2是本发明的工作原理流程图。
具体实施方式
如图1所示,一种基于XML格式配置文件的应用程序界面及其构建方法,文件配置步骤如下:
利用配置文件中软件自带的“查找”功能,查找到标签Menu、标签DockWidget或标签Operator,或直接滚动鼠标到标签位置;
配置菜单栏组件信息的方式如下:打开XML格式的配置文件,查找到标签为Menu的条目,修改id值和name值属性,完成父菜单栏的属性配置;查找到Menu条目下标签为Action的子条目,修改id值、image值、value值、bChecked值和bAutoTest值属性,完成相应子菜单的属性配置;通过增加或删除Menu条目的或Menu条目下Action子条目的个数,完成父菜单栏或相应子菜单的个数配置。
配置工具栏组件信息的方式如下:在上述步骤的基础上,从已配置完成的父菜单栏及其子菜单的条目中分别选取父工具栏及其子工具的条目;查找到标签为ToolBar的条目,修改id值和title值属性,完成父工具栏的属性配置;查找到ToolBar条目下标签为Action的子条目,修改id值和存在属性,完成相应子工具的属性配置;查找到标签为ActionGroup的条目,完成该组内子工具条目的互斥属性配置,保证一组子工具内的子工具条目为单选模式,且该配置属性同时作用于子菜单条目;通过增加或删除ToolBar条目的或ToolBar条目下Action子条目的个数,完成父工具栏或相应子工具的个数配置。
配置锚接窗口组件信息的方式如下:打开XML格式的配置文件,查找到标签为DockWidget的条目,修改id值、title值、position值、tabify值、width值、height值和bgColor值属性,完成锚接窗口组件的属性配置;通过增加或删除DockWidget条目的个数,完成锚接窗口的个数配置。
子窗口组件和子控件组件的方式如下:打开XML格式的配置文件,查找到标签为Operator的条目,修改id值、name值、ref值和editAttr值属性,完成子窗口的属性配置;查找到Operator条目下标签为Param的子条目,修改id值、name值、value值、type值和editAttr值属性,完成相应子控件的属性配置;通过增加或删除Operator条目的或Param子条目的个数,完成子窗口或相应子控件的个数配置。
如图2所示,使用Qt库的QFile类读取XML格式的配置文件,使用QDomDocument类解析菜单栏、工具栏、锚接窗口、子窗口和子控件组件的配置参数,并分别按照各自规则和需求进行编码,完成应用程序界面各组件相关配置信息的获取和构建;菜单栏、工具栏、锚接窗口、子窗口和子控件组件都有各自公用的接口函数,根据应用程序界面每个条目或组件的唯一标识属性,在相应的接口函数中编写对应的功能,完成应用程序界面各组件功能的实现。
Claims (2)
1.一种基于XML格式配置文件的应用程序界面及其构建方法,其特征在于包括:
(1)菜单栏组件配置模块,菜单栏的所有条目都公用一个接口函数,函数参数为菜单栏条目唯一的标识属性,且每个条目也都有其唯一的标识属性,根据条目唯一的标识属性编写对应的功能;
(2)工具栏组件配置模块,父工具栏条目和子工具条目分别属于父菜单栏条目和子菜单条目范围内,只需要相应设置在工具栏中的存在属性即可;
(3)锚接窗口组件配置模块,锚接窗口的所有组件都公用一个接口函数,函数参数为锚接窗口组件唯一的标识属性,且每个组件也都有其唯一的标识属性,根据组件唯一的标识属性编写对应的功能;
(4)子窗口组件和子控件组件配置模块,子窗口的所有组件都公用一个接口函数,函数参数为子窗口组件唯一的标识属性,且每个组件也都有其唯一的标识属性,根据组件唯一的标识属性编写对应的功能;子控件的所有组件都公用一个接口函数,函数参数为子控件组件唯一的标识属性,且每个组件也都有其唯一的标识属性,根据组件唯一的标识属性编写对应的功能;
(5)配置文件操作模块,读取XML格式的配置文件,解析菜单栏、工具栏、锚接窗口、子窗口和子控件组件的配置参数,并分别按照各自规则和需求进行编码,完成应用程序界面各组件相关配置信息的获取和构建;
(6)组件功能实现模块,菜单栏、工具栏、锚接窗口、子窗口和子控件组件都有各自公用的接口函数,根据应用程序界面每个条目或组件的唯一标识属性,在相应的接口函数中编写对应的功能,完成应用程序界面各组件功能的实现。
2.根据权利要求1所述的一种基于XML格式配置文件的应用程序界面及其构建方法,其特征在于包括如下步骤:
步骤一、打开配置文件
利用配置文件中软件自带的“查找”功能,查找到标签Menu、标签DockWidget或标签Operator,或直接滚动鼠标到标签位置;
步骤二、配置菜单栏组件信息
查找到标签为Menu的条目,完成父菜单栏的属性配置;查找到Menu条目下标签为Action的子条目,完成相应子菜单的属性配置;通过增加或删除Menu条目的或Menu条目下Action子条目的个数,完成父菜单栏或相应子菜单的个数配置;若查找不到标签为Menu的条目或为Action的子条目则转至步骤六;
步骤三、配置工具栏组件信息
从已配置完成的父菜单栏及其子菜单的条目中分别选取父工具栏及其子工具的条目;查找到标签为ToolBar的条目,完成父工具栏的属性配置;查找到ToolBar条目下标签为Action的子条目,完成相应子工具的属性配置;查找到标签为ActionGroup的条目,完成该组内子工具条目的互斥属性配置,且该配置属性同时作用于子菜单条目;通过增加或删除ToolBar条目的或ToolBar条目下Action子条目的个数,完成父工具栏或相应子工具的个数配置,若查找不到标签为ToolBar的条目或为Action的子条目或为ActionGroup的条目则转至步骤六;
步骤四、配置锚接窗口组件信息
查找到标签为DockWidget的条目,完成锚接窗口的属性配置;通过增加或删除DockWidget条目的个数,完成锚接窗口的个数配置,若查找不到标签为DockWidget的条目则转至步骤六;
步骤五、配置子窗口组件和子控件组件信息
查找到标签为Operator的条目,完成子窗口的属性配置;查找到Operator条目下标签为Param的子条目,完成相应子控件的属性配置;通过增加或删除Operator条目的或Operator条目下Param子条目的个数,完成子窗口或相应子控件的个数配置;若查找不到标签为Operator的条目或为Param的子条目则转至步骤六;
步骤六、结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610428109.4A CN105893063B (zh) | 2016-06-13 | 2016-06-13 | 一种基于xml格式配置文件的应用程序界面的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610428109.4A CN105893063B (zh) | 2016-06-13 | 2016-06-13 | 一种基于xml格式配置文件的应用程序界面的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105893063A true CN105893063A (zh) | 2016-08-24 |
CN105893063B CN105893063B (zh) | 2019-02-15 |
Family
ID=56730815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610428109.4A Active CN105893063B (zh) | 2016-06-13 | 2016-06-13 | 一种基于xml格式配置文件的应用程序界面的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893063B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572859A (zh) * | 2017-12-28 | 2018-09-25 | 山东中创软件商用中间件股份有限公司 | 一种可配置的执行程序***及其控制方法 |
CN108595223A (zh) * | 2018-04-27 | 2018-09-28 | 上海达梦数据库有限公司 | 一种应用程序的配置方法、装置、设备及存储介质 |
CN110019440A (zh) * | 2017-08-30 | 2019-07-16 | 北京国双科技有限公司 | 数据的处理方法及装置 |
CN110750313A (zh) * | 2019-10-21 | 2020-02-04 | 北京百度网讯科技有限公司 | 一种中间件的热加载方法、装置、电子设备及存储介质 |
CN112181419A (zh) * | 2020-12-03 | 2021-01-05 | 成都极米科技股份有限公司 | 一种界面生成方法、装置及存储介质 |
CN115629691A (zh) * | 2022-12-22 | 2023-01-20 | 北京智象信息技术有限公司 | 一种LinuxTV***多个***菜单管理方法、装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315604A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 软件定制模块的实现方法及*** |
CN101714083A (zh) * | 2009-12-16 | 2010-05-26 | 金蝶软件(中国)有限公司 | 一种应用程序菜单的生成方法、装置及应用*** |
CN101778169A (zh) * | 2010-02-04 | 2010-07-14 | 华为终端有限公司 | 应用程序界面的动态显示方法及装置 |
US20110161926A1 (en) * | 2009-12-30 | 2011-06-30 | Robert B Cruise | Finite state machine architecture for software development |
CN104077133A (zh) * | 2014-06-24 | 2014-10-01 | 中国地质大学(北京) | 一种配置式菜单的生成方法 |
CN105511843A (zh) * | 2014-09-22 | 2016-04-20 | 普天信息技术有限公司 | 一种生成应用程序界面的方法和装置 |
-
2016
- 2016-06-13 CN CN201610428109.4A patent/CN105893063B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315604A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 软件定制模块的实现方法及*** |
CN101714083A (zh) * | 2009-12-16 | 2010-05-26 | 金蝶软件(中国)有限公司 | 一种应用程序菜单的生成方法、装置及应用*** |
US20110161926A1 (en) * | 2009-12-30 | 2011-06-30 | Robert B Cruise | Finite state machine architecture for software development |
CN101778169A (zh) * | 2010-02-04 | 2010-07-14 | 华为终端有限公司 | 应用程序界面的动态显示方法及装置 |
CN104077133A (zh) * | 2014-06-24 | 2014-10-01 | 中国地质大学(北京) | 一种配置式菜单的生成方法 |
CN105511843A (zh) * | 2014-09-22 | 2016-04-20 | 普天信息技术有限公司 | 一种生成应用程序界面的方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019440A (zh) * | 2017-08-30 | 2019-07-16 | 北京国双科技有限公司 | 数据的处理方法及装置 |
CN110019440B (zh) * | 2017-08-30 | 2021-06-08 | 北京国双科技有限公司 | 数据的处理方法及装置 |
CN108572859A (zh) * | 2017-12-28 | 2018-09-25 | 山东中创软件商用中间件股份有限公司 | 一种可配置的执行程序***及其控制方法 |
CN108595223A (zh) * | 2018-04-27 | 2018-09-28 | 上海达梦数据库有限公司 | 一种应用程序的配置方法、装置、设备及存储介质 |
CN110750313A (zh) * | 2019-10-21 | 2020-02-04 | 北京百度网讯科技有限公司 | 一种中间件的热加载方法、装置、电子设备及存储介质 |
CN110750313B (zh) * | 2019-10-21 | 2023-07-25 | 北京百度网讯科技有限公司 | 一种中间件的热加载方法、装置、电子设备及存储介质 |
CN112181419A (zh) * | 2020-12-03 | 2021-01-05 | 成都极米科技股份有限公司 | 一种界面生成方法、装置及存储介质 |
CN115629691A (zh) * | 2022-12-22 | 2023-01-20 | 北京智象信息技术有限公司 | 一种LinuxTV***多个***菜单管理方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105893063B (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893063A (zh) | 一种基于xml格式配置文件的应用程序界面及其构建方法 | |
CN102819492B (zh) | 一种基于Android的关键字驱动自动化测试框架 | |
CN101650651B (zh) | 一种源代码级别程序结构的可视化方法 | |
CN106649100A (zh) | 一种自动化测试方法及*** | |
CN107291448A (zh) | 一种软件开发项目管理*** | |
CN102779037B (zh) | 一种自动生成与统一维护java项目的可视化编程方法 | |
CN104699613B (zh) | 一种航天器测试需求自动生成***及其方法 | |
CN104049957A (zh) | 基于星形结构的通用业务模型的快速建模框架 | |
CN105808428A (zh) | 一种对分布式文件***进行统一性能测试的方法 | |
CN103809975A (zh) | 智能云表单的实现方法 | |
CN105808244A (zh) | 一种基于工作流的动态数据可视化分析工具 | |
CN102929682A (zh) | 自动扩展tcl语言的预处理方法和装置 | |
Abele et al. | The CVM Framework-A Prototype Tool for Compositional Variability Management. | |
CN106354649A (zh) | 一种分层式网页自动化测试脚本设计方法 | |
CN102270137A (zh) | 一种获取体系结构描述语言的方法和一种建模工具 | |
CN107153606A (zh) | 一种程序分析过程可视化方法及*** | |
CN106250134A (zh) | 单一性语言的代码自动生成方法 | |
CN103593188A (zh) | 一种用于仪器所见即所得菜单的管理***及管理方法 | |
Khaled | A comparison between UML tools | |
CN102411498A (zh) | 一种实现数据模型的方法及图形化设计器 | |
CN106599087B (zh) | 一种空间信息服务的二次开发方法 | |
Schramm et al. | Rapid UI development for enterprise applications: Combining manual and model-driven techniques | |
Pérez-Castillo et al. | ANDRIU. A Technique for Migrating Graphical User Interfaces to Android (S). | |
Cai et al. | Business process recovery for system maintenance—An empirical approach | |
CN103116514A (zh) | 基于***扩展调用图的操作***自动优化方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |