掌桥专利:专业的专利平台
掌桥专利
首页

一种QT框架下的参数控制方法

文献发布时间:2023-06-19 18:37:28


一种QT框架下的参数控制方法

技术领域

本发明属于信息传输与处理技术领域,特别涉及一种QT框架下的参数控制方法,适合于国产化跨平台环境下对多种差异化的设备参数控制,快速生成人机交互界面,为多元化设备进行有效控制提供支撑。

背景技术

QT是一个跨平台的C++应用程序开发框架,其跨平台特性使得它支持包括Windows、Linux、银河麒麟等多种操作系统。在国产化跨平台环境下,对信息设备进行参数控制,QT界面设计方法通常有以下三种:手工编写创建界面代码、使用QT Designer界面编辑器设计、动态加载UI文件生成界面。

使用手工创建界面代码,需要从已有的GUI类库中选择一个类作为基类继承,并且添加必要的其他成员。在主窗体基础上手动创建其他控件,使用布局管理器布局这些控件,最后将该布局设置为主窗体的布局。此方法比较复杂,不够直观。使用QT Designer界面编辑器进行界面设计,所有的操作都采用可关联的信号与槽、设置特定控件的属性。通过直接拖放控件、设置控件的属性,简单直观且易于操作。动态加载UI文件的方法,需要先使用QTDesigner设计界面,然后使用UiLoader动态加载特性,对维护的.UI文件进行动态加载。

前两种方法需要事先创建好相应的文件或代码,然后同其他文件进行编译,如果后期需要修改界面则必须修改代码进行重新编译。第三种方法需要修改界面时只用修改.UI文件,无需重新编译,但属性修改不具备足够的灵活性。在适应对多种差异化的设备参数控制时,这三种方法都存在一定的局限性,无法满足快速生成人机界面的需求。因此,需要一种国产化环境下灵活、高效、可扩展的参数控制方法。

发明内容

本发明针对现有技术的不足提出一种QT框架下的参数控制方法,可实现国产化跨平台环境下对多种差异化的设备参数控制,快速生成人机交互界面,为多元化设备进行有效控制提供支撑。

为了实现上述目的,本发明所采取的技术方案为:

一种QT框架下的参数控制方法,包括以下步骤:

步骤1,基于QT框架对功能控件进行定义,确定功能控件种类,明确不同种类的功能控件的通用接口及差异化接口,并针对不同种类的功能控件,分别进行功能重载,包括主窗体定义、主窗体创建、界面元素创建、主窗体显示、消息响应和接口数据处理,形成功能控件库;

步骤2,基于功能控件库选用功能控件,形成功能控件集,使用XML进行描述,生成本地文件;

步骤3,对本地文件进行解析,获取功能控件集的参数信息,并基于参数信息动态创建功能重载后的功能控件,完成界面布局;

步骤4,界面中功能控件属性发生变化时,将功能控件对应的控件ID及参数改变内容进行封装,发送Signal信号用于消息传递;

步骤5,使用槽与Signal信号进行连接,利用QT框架下信号与槽通信机制建立业务关联,并基于控件ID及参数,触发功能控件的业务逻辑;

完成QT框架下的参数控制。

进一步地,步骤1中基于QT框架对功能控件进行定义,确定功能控件种类,明确不同种类的功能控件的通用接口及差异化接口,具体包括如下步骤:

步骤101,基于QT框架定义功能控件的控件种类及布局模式,控件种类包括:分割线、编辑框、下拉框、单选框、扩展框、切换框、标签和开关;布局模式包括:列表布局和树型布局,其中列表布局支持横向布局及纵向布局;

步骤102,明确不同种类的功能控件的通用接口:对功能控件对应参数的通用结构体进行定义,包括控件ID、父ID、标签名、换算单位、控件类型、显示与否、数值类型、数值比例和默认数值,其中控件ID是全局唯一的;

步骤103,设计功能控件的差异化接口:对存在特殊使用需求的功能控件,进行差异化的接口设计,包括:编辑框增加数据最大值和数据最小值,扩展框增加默认文本,下拉框增加一个或多个容器数值;

步骤104,设计功能控件间的交互接口:对存在联动关系的功能控件进行关联,当功能控件发生变化时,关联的功能控件将随之发生改变;此外,在关联的功能控件之间定义使能模式,其中支持的使能模式包括参数可用、参数失效、重置取值范围、参数显示和参数隐藏。

进一步地,步骤2中使用XML进行描述,生成本地文件,具体包括如下步骤:

步骤201,结合业务使用需求,按序完成功能控件集中功能控件的实例化,形成本地XML文件;

步骤202,基于接口设计,在XML文件中开放需要使用的接口并完成初始化;

步骤203,针对不同的功能控件实例,对XML文件中接口参数进行赋值;

步骤204,对XML文件中存在联动关系的功能控件进行使能模式定义,补充关联关系,形成最终的本地文件。

进一步地,步骤3具体包括如下步骤:

步骤301,加载本地文件,对文件进行格式校验及XML解析,获取功能控件集中每一个功能控件实体C

步骤302,确定布局模式参数,同时对功能控件按类型进行分组;

步骤303,创建每一个功能控件实体C

进一步地,步骤5具体包括如下步骤:

步骤501,对于不同功能控件实体的同一类Signal信号,利用QT框架下信号与槽通信机制,通过统一的槽函数进行关联,同一个信号连接一个或多个槽,同时,同一个槽响应一个或多个信号;

步骤502,利用功能控件实体的控件ID,在槽函数里实现对不同功能控件实体的差异化业务逻辑处理,实现针对性的业务能力;

步骤503,利用功能控件实体的控件ID,调用Get函数获取对应接口的参数值,或调用Set函数完成对特定接口的重新赋值,实现功能控件的参数重载;

步骤504,在不同使用场景下,针对差异化的装备控制需求,通过对步骤204的本地配置文件中功能控件实例及接口参数进行修改,生成新的本地文件,用于后续处理;若相关参数控制处理仍不满足业务使用需求,则返回步骤1,进行功能控件种类扩展,直至满足新的业务使用需求。

与现有技术相比,本发明具有如下优点:

1、跨平台:XML语言的平台无关性使其成为跨平台数据表示和交换的标准,本发明基于XML本地配置文件与QT下信号与槽通信机制满足不同场景下设装备控制需求,符合国产化环境下自主可控要求,具备更强的跨平台特性。

2、高效率:本发明通过灵活的配置加载与解析,支持界面快速生成及业务逻辑快速关联处理,具备较强的复用性,提高了设备参数控制的开发效率。

3、易扩展:本发明通过对本地配置的修改,支持对参数控制界面进行定制,可以快速响应人机交互界面变动的需求,体现了较强的维护性和易扩展能力。

附图说明

图1是本发明的总体流程图。

具体实施方式

参照图1,一种QT框架下的参数控制方法,包括基于QT定义功能控件种类及接口、实现并形成功能控件库、选用功能控件形成本地XML文件、动态创建功能控件实现界面布局、功能控件属性变化进行消息传递、触发功能控件的业务逻辑等一系列处理流程。具体来说,包括以下步骤:

(1)基于QT框架对功能控件进行定义,确定功能控件种类,明确不同种类的功能控件的通用接口及差异化接口;并针对不同种类的功能控件,分别进行功能重载,包括主窗体定义、主窗体创建、界面元素创建、主窗体显示、消息响应和接口数据处理,形成功能控件库;

其中,基于QT框架对功能控件进行定义,确定功能控件种类,明确不同种类的功能控件的通用接口及差异化接口,具体包括如下步骤:

(101)基于QT框架定义功能控件的控件种类及布局模式,控件种类包括:分割线、编辑框、下拉框、单选框、扩展框、切换框、标签和开关;布局模式包括:列表布局和树型布局,其中列表布局支持横向布局及纵向布局;

(102)明确不同种类的功能控件的通用接口:对功能控件对应参数的通用结构体进行定义,包括控件ID、父ID、标签名、换算单位、控件类型、显示与否、数值类型、数值比例和默认数值,其中控件ID要求全局唯一;

(103)设计功能控件的差异化接口:对存在特殊使用需求的功能控件,进行差异化的接口设计,包括:编辑框增加数据最大值和数据最小值;扩展框增加默认文本;下拉框增加一个或多个容器数值;

(104)设计功能控件间的交互接口:对存在联动关系的功能控件进行关联,当功能控件发生变化时,关联的功能控件将随之发生改变;并在关联的功能控件之间定义使能模式,其中支持的使能模式包括参数可用、参数失效、重置取值范围、参数显示和参数隐藏。

(2)基于功能控件库选用功能控件,形成功能控件集C,使用XML进行描述,生成本地文件;

其中,使用XML进行描述,生成本地文件,具体包括如下步骤:

(201)结合业务使用需求,按序完成功能控件集C中功能控件的实例化,形成本地XML文件;

(202)基于接口设计,在XML文件中开放需要使用的接口并完成初始化;

(203)针对不同的功能控件实例,对XML文件中接口参数进行赋值;

(204)对XML文件中存在联动关系的功能控件进行使能模式定义,补充关联关系,形成最终的本地文件。

(3)对本地文件进行解析,获取功能控件集C的参数信息,并基于参数信息动态创建功能重载后的功能控件,完成界面布局;

具体包括如下步骤:

(301)加载本地文件,对文件进行格式校验及XML解析,获取功能控件集C中每一个功能控件实体C

(302)确定布局模式参数,同时对功能控件按类型进行分组;

(303)创建每一个功能控件实体C

(4)界面中功能控件属性发生变化时,将功能控件对应的控件ID及参数改变内容进行封装,发送Signal信号用于消息传递;

(5)使用自定义的槽与Signal信号进行连接,利用QT下信号与槽通信机制建立业务关联,并基于控件ID及参数,触发功能控件的业务逻辑;

具体包括如下步骤:

(501)对于不同功能控件实体的同一类Signal信号,利用QT下信号与槽通信机制通过统一的槽函数进行关联,同一个信号连接一个或多个槽,同时同一个槽响应一个或多个信号;

(502)利用功能控件实体的控件ID,在槽函数里实现对不同功能控件实体的差异化业务逻辑处理,实现针对性的业务能力;

(503)利用功能控件实体的控件ID,调用Get函数获取对应接口的参数值,或调用Set函数完成对特定接口的重新赋值,实现功能控件的参数重载;

(504)在不同使用场景下,针对差异化的装备控制需求,通过对步骤(204)的本地配置文件中功能控件实例及接口参数进行修改,生成新的本地文件,用于后续处理;若相关参数控制处理仍不满足业务使用需求,则执行步骤(1),进行功能控件种类扩展,直至满足新的业务使用需求。

总之,本发明实现了针对国产化跨平台环境下设备参数的控制流程,包括基于QT定义功能控件种类及接口、实现并形成功能控件库、选用功能控件形成本地XML文件、动态创建功能控件实现界面布局、功能控件属性变化进行消息传递、触发功能控件的业务逻辑等一系列处理流程。本发明利用QT中信号与槽的通信机制,实现对不同使用场景下应用多种控件进行设备参数控制的业务需求,具备良好的适应性及扩展性。本发明具有跨平台、易扩展、复用性强等优点,可以显著提高业务设计及开发效率,并使得用于参数控制的人机界面友好、方便、灵活、一致。

技术分类

06120115636117