CN105893063B - 一种基于xml格式配置文件的应用程序界面的构建方法 - Google Patents
一种基于xml格式配置文件的应用程序界面的构建方法 Download PDFInfo
- Publication number
- CN105893063B CN105893063B CN201610428109.4A CN201610428109A CN105893063B CN 105893063 B CN105893063 B CN 105893063B CN 201610428109 A CN201610428109 A CN 201610428109A CN 105893063 B CN105893063 B CN 105893063B
- Authority
- CN
- China
- Prior art keywords
- entry
- configuration
- label
- sub
- attribute
- 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.)
- Active
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
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 (1)
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的子条目则转至步骤八;
步骤六、获取和构建应用程序界面各组件相关配置信息;
使用Qt库的QFile类读取XML格式的配置文件,使用QDomDocument类解析菜单栏、工具栏、锚接窗口、子窗口和子控件组件的配置参数,并分别按照各自规则和需求进行编码,完成应用程序界面各组件相关配置信息的获取和构建;
步骤七、实现应用程序界面各组件功能
菜单栏、工具栏、锚接窗口、子窗口和子控件组件都有各自公用的接口函数,根据应用程序界面每个条目或组件的唯一标识属性,在相应的接口函数中编写对应的功能,完成应用程序界面各组件功能的实现;
步骤八、结束。
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 CN105893063A (zh) | 2016-08-24 |
CN105893063B true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019440B (zh) * | 2017-08-30 | 2021-06-08 | 北京国双科技有限公司 | 数据的处理方法及装置 |
CN108572859A (zh) * | 2017-12-28 | 2018-09-25 | 山东中创软件商用中间件股份有限公司 | 一种可配置的执行程序系统及其控制方法 |
CN108595223A (zh) * | 2018-04-27 | 2018-09-28 | 上海达梦数据库有限公司 | 一种应用程序的配置方法、装置、设备及存储介质 |
CN110750313B (zh) * | 2019-10-21 | 2023-07-25 | 北京百度网讯科技有限公司 | 一种中间件的热加载方法、装置、电子设备及存储介质 |
CN112181419B (zh) * | 2020-12-03 | 2021-08-31 | 成都极米科技股份有限公司 | 一种界面生成方法、装置及存储介质 |
CN115629691A (zh) * | 2022-12-22 | 2023-01-20 | 北京智象信息技术有限公司 | 一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质 |
Citations (5)
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 | 华为终端有限公司 | 应用程序界面的动态显示方法及装置 |
CN104077133A (zh) * | 2014-06-24 | 2014-10-01 | 中国地质大学(北京) | 一种配置式菜单的生成方法 |
CN105511843A (zh) * | 2014-09-22 | 2016-04-20 | 普天信息技术有限公司 | 一种生成应用程序界面的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429605B2 (en) * | 2009-12-30 | 2013-04-23 | The United States Of America As Represented By The Secretary Of The Navy | Finite state machine architecture for software development |
-
2016
- 2016-06-13 CN CN201610428109.4A patent/CN105893063B/zh active Active
Patent Citations (5)
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 | 华为终端有限公司 | 应用程序界面的动态显示方法及装置 |
CN104077133A (zh) * | 2014-06-24 | 2014-10-01 | 中国地质大学(北京) | 一种配置式菜单的生成方法 |
CN105511843A (zh) * | 2014-09-22 | 2016-04-20 | 普天信息技术有限公司 | 一种生成应用程序界面的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105893063A (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893063B (zh) | 一种基于xml格式配置文件的应用程序界面的构建方法 | |
US20210303561A1 (en) | System for providing dynamic linked panels in user interface | |
US10261659B2 (en) | Orbit visualization for displaying hierarchical data | |
CN103150165B (zh) | 用于构建户外数据采集程序的框架系统以及程序构建方法 | |
KR101885089B1 (ko) | 건축 bim 설계 파일의 엑셀 파일 전환 방법 | |
US9336267B2 (en) | Method and system for navigation and visualization of data in relational and/or multidimensional databases | |
CN104679519B (zh) | 图形用户界面软件功能获取方法及装置 | |
CN101622619B (zh) | 用于导航和可视化关系数据库和/或多维数据库中的数据的方法和系统 | |
JP2012523644A (ja) | Cpiシミュレーション・システムのフローシートを有するスプレッドシート・ユーザ・インターフェースの利用 | |
KR101966518B1 (ko) | 엑셀 기반 건축 설계 파일의 버전 제어 방법 | |
US20110131523A1 (en) | Grouping of windows based on user-defined contexts | |
CN102520619A (zh) | 一种通用化卫星遥测仿真器 | |
CN104731588A (zh) | 页面布局文件生成方法和页面布局文件生成装置 | |
CN104461892A (zh) | 自定义控件获取方法和装置 | |
CN103778128A (zh) | 一种列表信息的绘制方法和装置 | |
CN104216646A (zh) | 基于手势创建应用程序的方法及装置 | |
CN104102468A (zh) | 一种网络分析仪公式编辑器及其数据图形显示方法和装置 | |
Bochkov et al. | CSDB/SNFG structure editor: An online glycan builder with 2D and 3D structure visualization | |
Khan et al. | OIL—output input language for data connectivity between geoscientific software applications | |
CN116627418B (zh) | 一种基于递归算法的多级表单界面可视化生成方法及装置 | |
CN101826015A (zh) | 窗口界面配置系统以及窗口界面配置方法 | |
Schramm et al. | Rapid UI development for enterprise applications: Combining manual and model-driven techniques | |
CN105242926A (zh) | Web前端开发平台 | |
CN110825352A (zh) | 一种基于Vue.js和Django的权限控制方法及系统 | |
CN105335164A (zh) | 一种基于windows的窗口绘制方法及绘制装置 |
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 |