一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法与流程

文档序号:34716529发布日期:2023-07-07 16:34阅读:71来源:国知局
一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法与流程

本发明涉及人机交互界面程序快速开发,具体为一种适用于arm-linux的人机交互界面程序快速开发和部署方法。


背景技术:

1、目前,人机交互界面程序(hmi)的快速开发领域中所面临的是无法在实现快速布局的基础上还能使界面保证较高的自由度,以及在最终软件编译时无法实现局部编译,从而导致了软件的开发过程并未达到想象中的速度;以及在完成开发后无法实现无需重启的热更新。

2、例如,在专利cn 108664186a一种基于图形样式可配置的人机交互界面显示方法中,提出了一种通过读取xml配置文件来生成hmi的方法,虽然在一定程度上实现了hmi的快速配置及显示,但该方法实现的界面自由度过低只能展示预设样式,这种方法对程序统筹的要求程度较高,需要在架构的初始阶段就需要考虑到所有情况,所以这种方法仅仅是实现了界面的快速配置;而在专利cn108920143a一种用于人机交互软件的快速开发方法中则加入了模块化思维,当界面构建完成后为此编写事件代码,最后编译运行;遗憾的是专利的自由度仍然较低,因为其中预设了大量的组件,以及配套的动作函数,无疑是增加了上手成本,且该方法主要是服务于windows端,对于arm-linux的是适配并未做过多的考量。

3、在对hmi进行更新时所采用的在线升级则需要停止当前hmi的进程,待装载完新程序后再重启使用,明显地该流程为整个设备的运行情况增加了不稳定因素,并不是真正意义上的快速部署;再者,当产品运行于电力系统上时,多数情况下是不允许软件重启的;因此不难看出,目前嵌入式端的hmi快速开发和部署面临:自由度低、重复编译、更新难的问题。


技术实现思路

1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

2、鉴于上述存在的问题,提出了本发明。

3、本发明实施例的第一方面,提供一种适用于arm-linux的人机交互界面程序快速开发和部署方法,包括:在桌面端利用设计器布局对应的程序页面,编写所述程序页面中相应控件的事件函数;根据所述事件函数生成xml文件和工程文件,通过对所述工程文件进行编译生成插件,将所述xml文件和所述插件导入运行嵌入式计算系统的嵌入式装置中;所述嵌入式装置的程序利用语言图形界面库中的绘图事件函数结合所述xml文件对页面进行绘制,并调用导入的插件执行页面中对应的事件,实现对人机交互界面程序的快速开发和部署。

4、作为本发明所述的适用于arm-linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述在桌面端利用设计器布局对应的程序页面包括,

5、在桌面端布局所述程序页面之前,需要先写入所述程序页面相应的屏幕分辨率、屏幕尺寸、色彩深度的屏幕属性以及键控或触控的操作属性;

6、利用设计器布局对应的程序页面时,可通过导入模板进行细节微调直接生成所需的xml文件,也可根据需求新建空白页面,在所述空白页面的基础上复制预设控件完成布局,还可重新绘制控件形状,重新绘制的控件会被转义为闭环的二维坐标。

7、作为本发明所述的适用于arm-linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述程序页面中相应控件的事件函数的编写包括,

8、定义所述程序页面中相应控件之间的空间结构关系,利用控件名称对所述空间结构关系进行编组排列;

9、根据所述编组排列的结果定义页面所调用的插件路径和亮屏时长;

10、根据需求创建控件节点,并定义所述控件节点调用函数时所使用的接口命令,所述接口命令为字符;

11、创建与xml文件对应的工程文件,在所述工程文件中编辑与调用命令一一对应的事件函数。

12、作为本发明所述的适用于arm-linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:自定义控件形状的计算包括,

13、

14、ftitle=3*ftext/2

15、其中,ftext表示正文字体磅数,pxwidth表示控件宽度的像素值,pxheight表示控件高度的像素值,ftitle表示标题字体磅数。

16、作为本发明所述的适用于arm-linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述xml文件包括,

17、所述xml文件在最外层的根节点处定义整个页面的基本信息,包括屏幕尺寸信息、像素以及键控或触控的操作方式,所述键控对应的是所述插件的keypressevent按键事件,所述触控对应的是所述插件的mousepressevent或mousereleaseevent鼠标事件;

18、所述xml文件的主体部分的节点元素分为三类,包括菜单页面、功能页面以及控件;

19、所述菜单页面包含的属性有:程序内名称、显示标题以及图标路径;

20、所述功能页面包含的属性除所述菜单页面的三个属性外还包括:页面结构定义、插件路径以及亮屏时长;

21、所述控件包含的属性有:控件名称、形状、资源路径以及调用命令。

22、作为本发明所述的适用于arm-linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述插件的生成包括,

23、根据所述事件函数生成xml文件和工程文件,通过对所述工程文件进行编译生成.so格式的插件,并将所述插件和所述xml文件一同打包导入运行嵌入式计算系统的嵌入式装置中。

24、作为本发明所述的适用于arm-linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述对页面进行绘制包括,

25、人机交互界面程序启动后,首先通过遍历所述xml文件获取子元素名称并生成主菜单页面,当且仅当用户进行操作时,通过获取用户所选的菜单序号,以查询该节点下所包含的元素;

26、若仍是菜单页面则继续生成菜单,若是功能页面则遍历所述功能页面节点下的元素,根据元素属性调用qpainter类绘制页面控件,当遍历完成,根据页面的griddef调用qlayout完成页面布局;

27、当页面绘制完成后,用户触发某一事件时则通过控件的调用命令查询相应插件中的函数完成事件响应,最终实现人机交互界面程序的开发与部属工作。

28、本发明实施例的第二方面,提供一种适用于arm-linux的人机交互界面程序快速开发和部署系统,包括:

29、页面布局单元,用于在桌面端利用设计器布局对应的程序页面,编写所述程序页面中相应控件的事件函数;

30、插件生成单元,用于根据所述事件函数生成xml文件和工程文件,通过对所述工程文件进行编译生成插件,将所述xml文件和所述插件导入运行嵌入式计算系统的嵌入式装置中;

31、开发部署单元,所述嵌入式装置的程序利用语言图形界面库中的绘图事件函数结合所述xml文件对页面进行绘制,并调用导入的插件执行页面中对应的事件,实现对人机交互界面程序的快速开发和部署。

32、本发明实施例的第三方面,提供一种设备,所述设备包括,

33、处理器;

34、用于存储处理器可执行指令的存储器;

35、所述处理器被配置为调用所述存储器存储的指令,以执行本发明任一实施例所述的方法。

36、本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,包括:

37、所述计算机程序指令被处理器执行时实现如本发明任一实施例所述的方法。

38、本发明的有益效果:本发明提供一种适用于arm-linux的人机交互界面程序快速开发和部署方法,在桌面端利用设计器布局对应的软件界面,并根据需要对其中的控件绑定数据源和交互事件,生成对应的xml和c++工程文件,xml文件导入应用程序,qt cui库中的qpaintevent绘制出对应的程序界面,解决快速开发过程中自由度较低的问题;其次,对生成的c++工程文件进行编译生成qt插件,导入的到装置后利用qt plug-in中转消息完成通信,实现界面中对应的事件,用于解决重复编译问题减少编译时间;最后,在对软件进行更新时,仅需更改xml配置文件并将对应的qt导入装置即可完成更新,解决传统软件更新需要重启的问题。与现有技术相比,本发明提出的快速开发和部署方法具有更高的开发自由度、更少的编译内容、安全快速的更新能力。

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