Movatterモバイル変換


[0]ホーム

URL:


CN116382688A - Man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux - Google Patents

Man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux
Download PDF

Info

Publication number
CN116382688A
CN116382688ACN202310330012.XACN202310330012ACN116382688ACN 116382688 ACN116382688 ACN 116382688ACN 202310330012 ACN202310330012 ACN 202310330012ACN 116382688 ACN116382688 ACN 116382688A
Authority
CN
China
Prior art keywords
page
program
event
plug
control
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
Application number
CN202310330012.XA
Other languages
Chinese (zh)
Inventor
赵佳佳
余志远
路浩
顾人杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Guodian Nanzi Weimeide Automation Co ltd
Original Assignee
Nanjing Guodian Nanzi Weimeide Automation Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Guodian Nanzi Weimeide Automation Co ltdfiledCriticalNanjing Guodian Nanzi Weimeide Automation Co ltd
Priority to CN202310330012.XApriorityCriticalpatent/CN116382688A/en
Publication of CN116382688ApublicationCriticalpatent/CN116382688A/en
Pendinglegal-statusCriticalCurrent

Links

Images

Classifications

Landscapes

Abstract

The invention discloses a man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux, which comprises the following steps: programming event functions of corresponding controls in a program page by using a program page corresponding to the layout of a designer at a desktop end; generating an XML file and an engineering file according to the event function, compiling the engineering file to generate an insert, and importing the XML file and the insert into an embedded device running an embedded computing system; drawing a page by a program of the embedded device by combining a drawing event function in a language graphic interface library with an XML file, and calling a plug-in unit to execute a corresponding event in the page, so that the quick development and deployment of the man-machine interaction interface program are realized; compared with the prior art, the method provided by the invention has higher development freedom, fewer compiled contents and safe and rapid updating capability.

Description

Translated fromChinese
一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法Rapid Development and Deployment of a Human-Computer Interface Program for Arm-Linuxmethod

技术领域technical field

本发明涉及人机交互界面程序快速开发技术领域,具体为一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法。The invention relates to the technical field of rapid development of human-computer interaction interface programs, in particular to a method for rapid development and deployment of human-computer interaction interface programs suitable for Arm-Linux.

背景技术Background technique

目前,人机交互界面程序(HMI)的快速开发领域中所面临的是无法在实现快速布局的基础上还能使界面保证较高的自由度,以及在最终软件编译时无法实现局部编译,从而导致了软件的开发过程并未达到想象中的速度;以及在完成开发后无法实现无需重启的热更新。At present, in the field of rapid development of human-computer interaction interface program (HMI), the problem is that it is impossible to ensure a high degree of freedom in the interface on the basis of rapid layout, and it is impossible to realize partial compilation when the final software is compiled, so that As a result, the software development process has not reached the expected speed; and after the development is completed, hot updates without restarting cannot be realized.

例如,在专利CN 108664186A一种基于图形样式可配置的人机交互界面显示方法中,提出了一种通过读取xml配置文件来生成HMI的方法,虽然在一定程度上实现了HMI的快速配置及显示,但该方法实现的界面自由度过低只能展示预设样式,这种方法对程序统筹的要求程度较高,需要在架构的初始阶段就需要考虑到所有情况,所以这种方法仅仅是实现了界面的快速配置;而在专利CN108920143A一种用于人机交互软件的快速开发方法中则加入了模块化思维,当界面构建完成后为此编写事件代码,最后编译运行;遗憾的是专利的自由度仍然较低,因为其中预设了大量的组件,以及配套的动作函数,无疑是增加了上手成本,且该方法主要是服务于Windows端,对于Arm-Linux的是适配并未做过多的考量。For example, in the patent CN 108664186A, a configurable human-computer interaction interface display method based on graphic style, a method of generating HMI by reading xml configuration files is proposed, although to a certain extent, the rapid configuration and display, but the interface freedom achieved by this method is too low and only preset styles can be displayed. This method requires a high degree of program coordination and needs to consider all situations at the initial stage of the architecture, so this method is only The rapid configuration of the interface is realized; and in the patent CN108920143A, a rapid development method for human-computer interaction software, modular thinking is added. After the interface is built, the event code is written for this, and finally compiled and run; unfortunately, the patent The degree of freedom is still low, because a large number of components and supporting action functions are preset, which undoubtedly increases the cost of getting started, and this method mainly serves the Windows side, and the adaptation for Arm-Linux has not been done. Too much consideration.

在对HMI进行更新时所采用的在线升级则需要停止当前HMI的进程,待装载完新程序后再重启使用,明显地该流程为整个设备的运行情况增加了不稳定因素,并不是真正意义上的快速部署;再者,当产品运行于电力系统上时,多数情况下是不允许软件重启的;因此不难看出,目前嵌入式端的HMI快速开发和部署面临:自由度低、重复编译、更新难的问题。The online upgrade used when updating the HMI needs to stop the current HMI process, and then restart it after loading the new program. Obviously, this process adds unstable factors to the operation of the entire device, and it is not true. Furthermore, when the product is running on the power system, software restart is not allowed in most cases; therefore, it is not difficult to see that the current rapid development and deployment of embedded HMI faces: low degree of freedom, repeated compilation, update difficult question.

发明内容Contents of the invention

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。The purpose of this section is to outline some aspects of embodiments of the invention and briefly describe some preferred embodiments. Some simplifications or omissions may be made in this section, as well as in the abstract and titles of this application, to avoid obscuring the purpose of this section, abstract and titles, and such simplifications or omissions should not be used to limit the scope of the invention.

鉴于上述存在的问题,提出了本发明。In view of the above problems, the present invention has been proposed.

本发明实施例的第一方面,提供一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法,包括:在桌面端利用设计器布局对应的程序页面,编写所述程序页面中相应控件的事件函数;根据所述事件函数生成XML文件和工程文件,通过对所述工程文件进行编译生成插件,将所述XML文件和所述插件导入运行嵌入式计算系统的嵌入式装置中;所述嵌入式装置的程序利用语言图形界面库中的绘图事件函数结合所述XML文件对页面进行绘制,并调用导入的插件执行页面中对应的事件,实现对人机交互界面程序的快速开发和部署。The first aspect of the embodiments of the present invention provides a method for rapid development and deployment of a human-computer interaction interface program suitable for Arm-Linux, including: using a designer to layout the corresponding program page on the desktop, and writing the corresponding program page in the program page. The event function of the control; generate an XML file and a project file according to the event function, generate a plug-in by compiling the project file, and import the XML file and the plug-in into an embedded device running an embedded computing system; The program of the embedded device uses the drawing event function in the language graphical interface library combined with the XML file to draw the page, and calls the imported plug-in to execute the corresponding event in the page, so as to realize the rapid development and deployment of the human-computer interaction interface program .

作为本发明所述的适用于Arm-Linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述在桌面端利用设计器布局对应的程序页面包括,As a preferred solution for the rapid development and deployment method of the human-computer interaction interface program applicable to Arm-Linux described in the present invention, wherein: the program page corresponding to the layout of the designer on the desktop includes,

在桌面端布局所述程序页面之前,需要先写入所述程序页面相应的屏幕分辨率、屏幕尺寸、色彩深度的屏幕属性以及键控或触控的操作属性;Before laying out the program page on the desktop, it is necessary to write the corresponding screen resolution, screen size, color depth screen properties and keying or touch operation properties of the program page;

利用设计器布局对应的程序页面时,可通过导入模板进行细节微调直接生成所需的XML文件,也可根据需求新建空白页面,在所述空白页面的基础上复制预设控件完成布局,还可重新绘制控件形状,重新绘制的控件会被转义为闭环的二维坐标。When using the designer to lay out the corresponding program page, you can directly generate the required XML file by importing the template to fine-tune the details, or create a blank page according to your needs, and copy the preset controls on the basis of the blank page to complete the layout. Redraw the shape of the control, and the redrawn control will be converted to closed-loop two-dimensional coordinates.

作为本发明所述的适用于Arm-Linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述程序页面中相应控件的事件函数的编写包括,As a preferred solution of the human-computer interaction interface program rapid development and deployment method suitable for Arm-Linux described in the present invention, wherein: the writing of the event function of the corresponding control in the program page includes,

定义所述程序页面中相应控件之间的空间结构关系,利用控件名称对所述空间结构关系进行编组排列;defining a spatial structure relationship between corresponding controls in the program page, and grouping and arranging the spatial structure relationship by using control names;

根据所述编组排列的结果定义页面所调用的插件路径和亮屏时长;Define the plug-in path called by the page and the duration of the bright screen according to the result of the marshalling;

根据需求创建控件节点,并定义所述控件节点调用函数时所使用的接口命令,所述接口命令为字符;Create a control node according to requirements, and define an interface command used when the control node calls a function, and the interface command is a character;

创建与XML文件对应的工程文件,在所述工程文件中编辑与调用命令一一对应的事件函数。A project file corresponding to the XML file is created, and event functions corresponding to calling commands are edited in the project file.

作为本发明所述的适用于Arm-Linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:自定义控件形状的计算包括,As a preferred solution of the rapid development and deployment method of the human-computer interaction interface program applicable to Arm-Linux described in the present invention, wherein: the calculation of the custom control shape includes,

Figure BDA0004154647440000031
Figure BDA0004154647440000031

FTitle=3*FText/2FTitle = 3*FText /2

其中,FText表示正文字体磅数,PxWidth表示控件宽度的像素值,PxHeight表示控件高度的像素值,FTitle表示标题字体磅数。Among them, FText represents the point size of the main text font, PxWidth represents the pixel value of the control width, PxHeight represents the pixel value of the control height, and FTitle represents the point size of the title font.

作为本发明所述的适用于Arm-Linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述XML文件包括,As a preferred solution of the rapid development and deployment method of the human-computer interaction interface program applicable to Arm-Linux described in the present invention, wherein: the XML file includes,

所述XML文件在最外层的根节点处定义整个页面的基本信息,包括屏幕尺寸信息、像素以及键控或触控的操作方式,所述键控对应的是所述插件的keyPressEvent按键事件,所述触控对应的是所述插件的mousePressEvent或mouseReleaseEvent鼠标事件;The XML file defines the basic information of the entire page at the root node of the outermost layer, including screen size information, pixels, and keying or touch operation modes. The keying corresponds to the keyPressEvent key event of the plug-in, The touch corresponds to the mousePressEvent or mouseReleaseEvent mouse event of the plug-in;

所述XML文件的主体部分的节点元素分为三类,包括菜单页面、功能页面以及控件;The node elements of the main part of the XML file are divided into three categories, including menu pages, function pages and controls;

所述菜单页面包含的属性有:程序内名称、显示标题以及图标路径;The attributes included in the menu page are: program name, display title and icon path;

所述功能页面包含的属性除所述菜单页面的三个属性外还包括:页面结构定义、插件路径以及亮屏时长;The attributes included in the function page include, in addition to the three attributes of the menu page: page structure definition, plug-in path, and bright screen duration;

所述控件包含的属性有:控件名称、形状、资源路径以及调用命令。The attributes included in the control include: control name, shape, resource path and call command.

作为本发明所述的适用于Arm-Linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述插件的生成包括,As a preferred solution of the rapid development and deployment method of the human-computer interaction interface program applicable to Arm-Linux described in the present invention, wherein: the generation of the plug-in includes,

根据所述事件函数生成XML文件和工程文件,通过对所述工程文件进行编译生成.so格式的插件,并将所述插件和所述XML文件一同打包导入运行嵌入式计算系统的嵌入式装置中。Generate an XML file and a project file according to the event function, generate a plug-in in .so format by compiling the project file, and pack the plug-in and the XML file into an embedded device running an embedded computing system .

作为本发明所述的适用于Arm-Linux的人机交互界面程序快速开发和部署方法的一种优选方案,其中:所述对页面进行绘制包括,As a preferred solution of the rapid development and deployment method of the human-computer interaction interface program applicable to Arm-Linux described in the present invention, wherein: said drawing the page includes,

人机交互界面程序启动后,首先通过遍历所述XML文件获取子元素名称并生成主菜单页面,当且仅当用户进行操作时,通过获取用户所选的菜单序号,以查询该节点下所包含的元素;After the human-computer interaction interface program is started, it first traverses the XML file to obtain the sub-element name and generates the main menu page, and if and only when the user performs an operation, obtains the menu number selected by the user to query the items contained in the node. Elements;

若仍是菜单页面则继续生成菜单,若是功能页面则遍历所述功能页面节点下的元素,根据元素属性调用Qpainter类绘制页面控件,当遍历完成,根据页面的GridDef调用QLayout完成页面布局;If it is still a menu page, continue to generate the menu, if it is a function page, then traverse the elements under the node of the function page, call the Qpainter class to draw the page control according to the element attribute, and when the traversal is completed, call QLayout to complete the page layout according to the GridDef of the page;

当页面绘制完成后,用户触发某一事件时则通过控件的调用命令查询相应插件中的函数完成事件响应,最终实现人机交互界面程序的开发与部属工作。After the page drawing is completed, when the user triggers an event, the function in the corresponding plug-in is queried through the call command of the control to complete the event response, and finally realize the development and deployment of the human-computer interaction interface program.

本发明实施例的第二方面,提供一种适用于Arm-Linux的人机交互界面程序快速开发和部署系统,包括:The second aspect of the embodiments of the present invention provides a system for rapid development and deployment of human-computer interaction interface programs suitable for Arm-Linux, including:

页面布局单元,用于在桌面端利用设计器布局对应的程序页面,编写所述程序页面中相应控件的事件函数;The page layout unit is used to use the designer to layout the corresponding program page on the desktop, and write the event function of the corresponding control in the program page;

插件生成单元,用于根据所述事件函数生成XML文件和工程文件,通过对所述工程文件进行编译生成插件,将所述XML文件和所述插件导入运行嵌入式计算系统的嵌入式装置中;A plug-in generating unit, configured to generate an XML file and a project file according to the event function, generate a plug-in by compiling the project file, and import the XML file and the plug-in into an embedded device running an embedded computing system;

开发部署单元,所述嵌入式装置的程序利用语言图形界面库中的绘图事件函数结合所述XML文件对页面进行绘制,并调用导入的插件执行页面中对应的事件,实现对人机交互界面程序的快速开发和部署。The development and deployment unit, the program of the embedded device utilizes the drawing event function in the language graphical interface library in conjunction with the XML file to draw the page, and calls the imported plug-in to execute the corresponding event in the page, so as to realize the human-computer interaction interface program rapid development and deployment.

本发明实施例的第三方面,提供一种设备,所述设备包括,According to a third aspect of the embodiments of the present invention, a device is provided, and the device includes:

处理器;processor;

用于存储处理器可执行指令的存储器;memory for storing processor-executable instructions;

所述处理器被配置为调用所述存储器存储的指令,以执行本发明任一实施例所述的方法。The processor is configured to invoke instructions stored in the memory to execute the method described in any embodiment of the present invention.

本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,包括:According to a fourth aspect of the embodiments of the present invention, a computer-readable storage medium is provided, on which computer program instructions are stored, including:

所述计算机程序指令被处理器执行时实现如本发明任一实施例所述的方法。When the computer program instructions are executed by the processor, the method according to any embodiment of the present invention is implemented.

本发明的有益效果:本发明提供一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法,在桌面端利用设计器布局对应的软件界面,并根据需要对其中的控件绑定数据源和交互事件,生成对应的XML和C++工程文件,XML文件导入应用程序,Qt CUI库中的QPaintEvent绘制出对应的程序界面,解决快速开发过程中自由度较低的问题;其次,对生成的C++工程文件进行编译生成Qt插件,导入的到装置后利用Qt plug-in中转消息完成通信,实现界面中对应的事件,用于解决重复编译问题减少编译时间;最后,在对软件进行更新时,仅需更改XML配置文件并将对应的Qt导入装置即可完成更新,解决传统软件更新需要重启的问题。与现有技术相比,本发明提出的快速开发和部署方法具有更高的开发自由度、更少的编译内容、安全快速的更新能力。Beneficial effects of the present invention: the present invention provides a method for rapid development and deployment of a human-computer interaction interface program suitable for Arm-Linux, using a designer to layout the corresponding software interface on the desktop, and binding data to the controls therein as required source and interaction events, generate corresponding XML and C++ project files, import the XML files into the application program, and draw the corresponding program interface through QPaintEvent in the Qt CUI library, which solves the problem of low degree of freedom in the rapid development process; secondly, the generated Compile the C++ project file to generate a Qt plug-in. After importing it to the device, use the Qt plug-in to transfer the message to complete the communication and realize the corresponding event in the interface, which is used to solve the problem of repeated compilation and reduce the compilation time; finally, when updating the software, The update can be completed only by changing the XML configuration file and importing the corresponding Qt into the device, which solves the problem that traditional software updates need to be restarted. Compared with the prior art, the rapid development and deployment method proposed by the present invention has higher development freedom, less compiling content, and safe and rapid update capability.

附图说明Description of drawings

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the accompanying drawings that need to be used in the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For Those of ordinary skill in the art can also obtain other drawings based on these drawings without any creative effort. in:

图1为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的整体流程图;Fig. 1 is the overall flowchart of a kind of human-computer interaction interface program rapid development and deployment method applicable to Arm-Linux provided by the present invention;

图2为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的嵌入式装置的程序结构图;Fig. 2 is a program structure diagram of an embedded device suitable for the rapid development and deployment method of a human-computer interaction interface program of Arm-Linux provided by the present invention;

图3为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的XML文件的结构图;Fig. 3 is a structural diagram of an XML file applicable to the rapid development and deployment of Arm-Linux man-machine interface programs provided by the present invention;

图4为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的页面的设计流程图;Fig. 4 is the design flowchart of the page of a kind of human-computer interaction interface program rapid development and deployment method applicable to Arm-Linux provided by the present invention;

图5为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的主应用程序的结构图;Fig. 5 is a structural diagram of the main application program of a kind of human-computer interaction interface program rapid development and deployment method applicable to Arm-Linux provided by the present invention;

图6为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的主应用程序的加载过程图;Fig. 6 is the loading process diagram of the main application program of a kind of human-computer interaction interface program rapid development and deployment method suitable for Arm-Linux provided by the present invention;

图7为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的键控式继电保护装置的HMI中新增一个遥测量查看的功能页面图;Fig. 7 is a function page diagram of adding a remote measurement view in the HMI of a key-operated relay protection device suitable for the rapid development and deployment method of the Arm-Linux human-computer interaction interface program provided by the present invention;

图8为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法与传统设备程序升级的流程对比图;Fig. 8 is a process comparison diagram of a human-computer interaction interface program rapid development and deployment method suitable for Arm-Linux and a traditional device program upgrade provided by the present invention;

图9为本发明提供的一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的新的菜单树中找到新增的“遥测量查看”功能过程图。FIG. 9 is a process diagram of the newly added "remote measurement view" function found in the new menu tree of a method for rapid development and deployment of a human-computer interaction interface program suitable for Arm-Linux provided by the present invention.

具体实施方式Detailed ways

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation modes of the present invention will be described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of them. Example. Based on the embodiments of the present invention, all other embodiments obtained by ordinary persons in the art without creative efforts shall fall within the protection scope of the present invention.

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。In the following description, a lot of specific details are set forth in order to fully understand the present invention, but the present invention can also be implemented in other ways different from those described here, and those skilled in the art can do it without departing from the meaning of the present invention. By analogy, the present invention is therefore not limited to the specific examples disclosed below.

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。Second, "one embodiment" or "an embodiment" referred to herein refers to a specific feature, structure or characteristic that may be included in at least one implementation of the present invention. "In one embodiment" appearing in different places in this specification does not all refer to the same embodiment, nor is it a separate or selective embodiment that is mutually exclusive with other embodiments.

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。The present invention is described in detail in conjunction with schematic diagrams. When describing the embodiments of the present invention in detail, for the convenience of explanation, the cross-sectional view showing the device structure will not be partially enlarged according to the general scale, and the schematic diagram is only an example, which should not limit the present invention. scope of protection. In addition, the three-dimensional space dimensions of length, width and depth should be included in actual production.

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。At the same time, in the description of the present invention, it should be noted that the orientation or positional relationship indicated by "upper, lower, inner and outer" in the terms is based on the orientation or positional relationship shown in the accompanying drawings, and is only for the convenience of describing the present invention. The invention and the simplified description do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operate in a specific orientation, and thus should not be construed as limiting the present invention. In addition, the terms "first, second or third" are used for descriptive purposes only, and should not be construed as indicating or implying relative importance.

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。Unless otherwise specified and limited in the present invention, the term "installation, connection, connection" should be understood in a broad sense, for example: it can be a fixed connection, a detachable connection or an integrated connection; it can also be a mechanical connection, an electrical connection or a direct connection. A connection can also be an indirect connection through an intermediary, or it can be an internal communication between two elements. Those of ordinary skill in the art can understand the specific meanings of the above terms in the present invention in specific situations.

实施例1Example 1

参照图1~6为本发明的一个实施例,提供了一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法,包括:Referring to Fig. 1~6 is an embodiment of the present invention, provides a kind of human-computer interaction interface program rapid development and deployment method applicable to Arm-Linux, including:

S1:在桌面端利用设计器布局对应的程序页面,编写程序页面中相应控件的事件函数。需要说明的是:S1: Use the designer to layout the corresponding program page on the desktop, and write the event function of the corresponding control in the program page. It should be noted:

在桌面端布局程序页面之前,需要先写入程序页面相应的屏幕分辨率、屏幕尺寸、色彩深度的屏幕属性以及键控或触控的操作属性;Before laying out the program page on the desktop, it is necessary to write the corresponding screen resolution, screen size, color depth screen properties and key or touch operation properties of the program page;

利用设计器布局对应的程序页面时,可通过导入模板进行细节微调直接生成所需的XML文件,也可根据需求新建空白页面,在空白页面的基础上复制预设控件完成布局,还可重新绘制控件形状,重新绘制的控件会被转义为闭环的二维坐标;When using the designer to layout the corresponding program page, you can directly generate the required XML file by importing the template to fine-tune the details, or create a blank page according to your needs, copy the preset controls on the basis of the blank page to complete the layout, and redraw The shape of the control, the redrawn control will be converted to a closed-loop two-dimensional coordinate;

进一步的,如图4所示,程序页面中相应控件的事件函数的编写包括,Further, as shown in Figure 4, the writing of the event function of the corresponding control in the program page includes,

定义程序页面中相应控件之间的空间结构关系,利用xName对空间结构关系进行编组排列;Define the spatial structure relationship between corresponding controls in the program page, and use xName to group and arrange the spatial structure relationship;

根据编组排列的结果定义DLL的路径和亮屏时长;Define the path of the DLL and the duration of the bright screen according to the result of the group arrangement;

根据需求创建控件节点,并定义控件节点调用函数时所使用的接口命令,其中,接口命令为字符;Create control nodes according to requirements, and define the interface commands used when the control nodes call functions, where the interface commands are characters;

创建与XML文件对应的C++工程文件,在C++工程文件中编辑与调用命令一一对应的事件函数;Create a C++ project file corresponding to the XML file, and edit the event function corresponding to the calling command in the C++ project file;

应说明的,自定义控件形状的计算包括,It should be noted that the calculation of the custom control shape includes,

Figure BDA0004154647440000071
Figure BDA0004154647440000071

FTitle=3*FText/2FTitle = 3*FText /2

其中,FText表示正文字体磅数,Pxwidth表示控件宽度的像素值,PxHeight表示控件高度的像素值,FTitle表示标题字体磅数。Among them, FText represents the point size of the main text font, Pxwidth represents the pixel value of the control width, PxHeight represents the pixel value of the control height, and FTitle represents the point size of the title font.

S2:根据事件函数生成XML文件和C++工程文件,通过对C++工程文件进行编译生成Qt插件。需要说明的是:S2: Generate an XML file and a C++ project file according to the event function, and generate a Qt plug-in by compiling the C++ project file. It should be noted:

XML文件的结构如图3所示,在最外层的根节点处定义整个页面的基本信息,包括屏幕尺寸信息、像素以及键控或触控的操作方式,键控对应的是Qt的keyPressEvent按键事件,触控对应Qt的mousePressEvent或mouseReleaseEvent鼠标事件;The structure of the XML file is shown in Figure 3. The basic information of the entire page is defined at the outermost root node, including screen size information, pixels, and keying or touch operation methods. The keying corresponds to the keyPressEvent button of Qt. Event, touch corresponding to Qt's mousePressEvent or mouseReleaseEvent mouse event;

XML文件的主体部分的节点元素分为三类,包括菜单页面、功能页面以及控件;每一个控件都最多属于一个功能页面,功能页面都有对应的菜单导览,而菜单页面仅作为功能页面的入口而存在,即控件是功能页面的子元素,功能页面是菜单页面的子元素;The node elements in the main part of the XML file are divided into three categories, including menu pages, function pages, and controls; each control belongs to at most one function page, and each function page has a corresponding menu guide, and the menu page is only used as a function page. The entry exists, that is, the control is a sub-element of the function page, and the function page is a sub-element of the menu page;

具体的,菜单页面包含的属性有:程序内名称(Name)、显示标题(Title)、图标路径(ICONPath),默认继承的事件只有进入与返回,其中,Name为程序内的引索名用于检测该级菜单的合法性,Title为该菜单显示在页面上的名称,ICONPath为该菜单对应的图标信息;Specifically, the attributes included in the menu page are: program name (Name), display title (Title), icon path (ICONPath), and the default inherited events are only entry and return, where Name is the index name in the program for Detect the legitimacy of the menu at this level, Title is the name displayed on the page for the menu, and ICONPath is the icon information corresponding to the menu;

具体的,功能页面包含的属性除菜单页面的三个属性外还包括:页面结构定义(GridDef)、插件路径(DLL)、亮屏时长(STAYTIME),其中GridDef用于定义页面内每个控件间的位置信息,决定整个页面的结构布局;DLL为该页面所调用的插件路径同时也是C++项目的项目名;STAYTIME为该页面持续亮屏的时长,超过该时长则会退出该页面,操作事件仅有启动和退出;Specifically, in addition to the three properties of the menu page, the properties included in the function page also include: page structure definition (GridDef), plug-in path (DLL), and screen bright time (STAYTIME), where GridDef is used to define the interval between each control in the page The location information of the page determines the structural layout of the entire page; DLL is the plug-in path called by the page and is also the project name of the C++ project; STAYTIME is the duration of the page’s continuous bright screen, and the page will exit after exceeding this duration, and the operation event only There are start and exit;

具体的,控件包含的属性有:控件名称(xName)、形状(ShapeSize)、资源路径(SourcePath)、调用命令(CMD),其中,xName为程序内的索引名用于判断该空间的合法性,ShapeSize用于定义该控件的形状和尺寸;SourcePath为该控件所需要的外部资源路径,用于调用.rcc文件中诸如图片或翻译文件等资源;CMD为该控件调用函数时所使用的接口命令;Specifically, the attributes contained in the control include: control name (xName), shape (ShapeSize), resource path (SourcePath), call command (CMD), where xName is the index name in the program to judge the validity of the space, ShapeSize is used to define the shape and size of the control; SourcePath is the external resource path required by the control, which is used to call resources such as pictures or translation files in the .rcc file; CMD is the interface command used when the control calls functions;

进一步的,Qt插件的生成包括,Further, the generation of Qt plug-ins includes,

根据事件函数生成XML文件和C++工程文件,通过对C++工程文件进行编译生成.so格式的Qt插件,并将Qt插件和XML文件一同打包导入运行Arm-linux的嵌入式装置中。Generate XML files and C++ project files according to event functions, generate Qt plug-ins in .so format by compiling C++ project files, and package Qt plug-ins and XML files together and import them into embedded devices running Arm-linux.

S3:将XML文件和Qt插件导入运行Arm-linux的嵌入式装置中,嵌入式端程序利用Qt CUI库中的QPaintEvent结合XML文件绘制页面,调用导入的插件执行界面中对应的事件。需要说明的是:S3: Import the XML file and the Qt plug-in into the embedded device running Arm-linux. The embedded program uses the QPaintEvent in the Qt CUI library combined with the XML file to draw the page, and calls the imported plug-in to execute the corresponding event in the interface. It should be noted:

运行Arm-linux的嵌入式装置的程序结构图如图2所示,图中1为导入的XML配置文件,2为主应用程序,3为调用的插件(.so文件);The program structure diagram of the embedded device running Arm-linux is as shown in Figure 2, among which 1 is the imported XML configuration file, 2 is the main application program, and 3 is the plug-in (.so file) called;

进一步的,主应用程序的结构如图5所示,包含XML读取模块,绘图模块,插件管理模块;Further, the structure of the main application program is shown in Figure 5, including an XML reading module, a drawing module, and a plug-in management module;

具体的,加载过程如图6所示,人机交互界面程序启动后,首先通过遍历XML文件获取子元素名称并生成主菜单页面,当且仅当用户进行操作时,通过获取用户所选的菜单序号,以查询该节点下所包含的元素;Specifically, the loading process is shown in Figure 6. After the human-computer interaction interface program starts, it first obtains the sub-element names by traversing the XML file and generates the main menu page. serial number to query the elements contained under the node;

若仍是菜单页面则继续生成菜单,若是功能页面则遍历功能页面节点下的元素,根据元素属性调用Qpainter类绘制页面控件,当遍历完成,根据页面的GridDef调用QLayout完成页面布局;If it is still a menu page, continue to generate the menu. If it is a function page, traverse the elements under the node of the function page, call the Qpainter class to draw the page control according to the element attribute, and when the traversal is completed, call QLayout according to the GridDef of the page to complete the page layout;

当页面绘制完成后,用户触发某一事件时则通过控件的调用命令查询相应插件中的函数完成事件响应,最终实现人机交互界面程序的开发与部属工作。After the page drawing is completed, when the user triggers an event, the function in the corresponding plug-in is queried through the call command of the control to complete the event response, and finally realize the development and deployment of the human-computer interaction interface program.

应说明的,本发明提供一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法,在桌面端利用设计器布局对应的软件界面,并根据需要对其中的控件绑定数据源和交互事件,生成对应的XML和C++工程文件,XML文件导入应用程序,Qt CUI库中的QPaintEvent绘制出对应的程序界面,解决快速开发过程中自由度较低的问题;其次,对生成的C++工程文件进行编译生成Qt插件,导入的到装置后利用Qt plug-in中转消息完成通信,实现界面中对应的事件,用于解决重复编译问题减少编译时间;最后,在对软件进行更新时,仅需更改XML配置文件并将对应的Qt导入装置即可完成更新,解决传统软件更新需要重启的问题。与现有技术相比,本发明提出的快速开发和部署方法具有更高的开发自由度、更少的编译内容、安全快速的更新能力。It should be noted that the present invention provides a method for rapid development and deployment of a human-computer interaction interface program suitable for Arm-Linux, using a designer to layout the corresponding software interface on the desktop, and binding data sources and controls to controls therein as required. Interaction events, generate corresponding XML and C++ project files, import XML files into applications, and QPaintEvent in the Qt CUI library draws corresponding program interfaces to solve the problem of low degree of freedom in the rapid development process; secondly, for the generated C++ projects The file is compiled to generate a Qt plug-in, and after being imported to the device, the Qt plug-in relay message is used to complete the communication and realize the corresponding events in the interface, which is used to solve the problem of repeated compilation and reduce the compilation time; finally, when updating the software, only the The update can be completed by changing the XML configuration file and importing the corresponding Qt into the device, which solves the problem that traditional software updates need to be restarted. Compared with the prior art, the rapid development and deployment method proposed by the present invention has higher development freedom, less compiling content, and safe and rapid update capability.

本发明公开的第二方面,The second aspect disclosed by the present invention,

提供一种适用于Arm-Linux的人机交互界面程序快速开发和部署系统,包括:Provide a rapid development and deployment system for human-computer interaction interface programs suitable for Arm-Linux, including:

页面布局单元,用于在桌面端利用设计器布局对应的程序页面,编写程序页面中相应控件的事件函数;The page layout unit is used to use the designer to layout the corresponding program page on the desktop, and write the event function of the corresponding control in the program page;

插件生成单元,用于根据事件函数生成XML文件和工程文件,通过对工程文件进行编译生成插件,将XML文件和插件导入运行嵌入式计算系统的嵌入式装置中;A plug-in generation unit is used to generate XML files and project files according to the event function, generate plug-ins by compiling the project files, and import the XML files and plug-ins into the embedded device running the embedded computing system;

开发部署单元,嵌入式装置的程序利用语言图形界面库中的绘图事件函数结合XML文件对页面进行绘制,并调用导入的插件执行页面中对应的事件,实现对人机交互界面程序的快速开发和部署。The development and deployment unit, the program of the embedded device uses the drawing event function in the language graphical interface library combined with the XML file to draw the page, and calls the imported plug-in to execute the corresponding event in the page, so as to realize the rapid development and operation of the human-computer interaction interface program. deploy.

本发明公开的第三方面,The third aspect disclosed by the present invention,

提供一种设备,包括:A device is provided, comprising:

处理器;processor;

用于存储处理器可执行指令的存储器;memory for storing processor-executable instructions;

其中,处理器被配置为调用存储器存储的指令,以执行前述中任意一项的方法。Wherein, the processor is configured to invoke instructions stored in the memory to perform any one of the aforementioned methods.

本发明公开的第四方面,In the fourth aspect disclosed by the present invention,

提供一种计算机可读存储介质,其上存储有计算机程序指令,包括:A computer-readable storage medium is provided, on which computer program instructions are stored, including:

计算机程序指令被处理器执行时实现前述中任意一项的方法。When the computer program instructions are executed by the processor, any one of the aforementioned methods can be realized.

本发明可以是方法、装置、系统和/或计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。The present invention may be a method, apparatus, system and/or computer program product, which may include a computer-readable storage medium carrying computer-readable program instructions for carrying out various aspects of the present invention.

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。A computer readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory), static random access memory (SRAM), compact disc read only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanically encoded device, such as a printer with instructions stored thereon A hole card or a raised structure in a groove, and any suitable combination of the above. As used herein, computer-readable storage media are not to be construed as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., pulses of light through fiber optic cables), or transmitted electrical signals.

实施例2Example 2

参照图7~9为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种适用于Arm-Linux的人机交互界面程序快速开发和部署方法的验证测试,为对本方法中采用的技术效果加以验证说明。7 to 9 are the second embodiment of the present invention. This embodiment is different from the first embodiment in that it provides a verification method for the rapid development and deployment of a human-computer interaction interface program suitable for Arm-Linux. The test is to verify the technical effect adopted in this method.

本实施例中,在320*240像素的键控式继电保护装置的人机交互界面程序中新增一个遥测量查看的功能,该功能要求能够在装置的屏幕上显示N组遥测量,每组数据包含名称、数值和单位的信息,并可以通过按键控制上滑、下滑以及跳页查看的功能,如图7所示。In this embodiment, a function of viewing telemetry is added to the human-computer interaction interface program of the 320*240 pixel key-operated relay protection device. This function requires that N groups of telemetry can be displayed on the screen of the device. Group data includes name, value, and unit information, and the functions of sliding up, down, and page-jumping can be controlled by buttons, as shown in Figure 7.

第一步需要在菜单节点下新增一项,title命名为“遥测量查看”,计划采用比例为2:3的上下双层布局,则GridDef的属性定义为“row=2,2*,3*”,若是打算采用左右布局,则GridDef的属性定义为“column=2,2*,3*”,对应的插件DLL定义为“Telemetry”,以上信息均可以根据实际情况进行定义。The first step is to add an item under the menu node, the title is named "Telemetry View", and the upper and lower double-layer layout with a ratio of 2:3 is planned to be adopted, so the attribute of GridDef is defined as "row=2,2*,3 *", if you plan to use the left and right layout, the attribute of GridDef is defined as "column=2,2*,3*", and the corresponding plug-in DLL is defined as "Telemetry". The above information can be defined according to the actual situation.

第二步对控件进行定义,该情况一般会采用表格的布局形式,通过分析,界面由3个控件构成:标题栏、数据区以及滚动条;首先是标题栏,分为背景和数据源两部分,背景为一个长300像素高40像素,半径为20的圆角矩形,所以标题栏控件的ShapeSize属性为“RectRound,300,40,20,20”,当然如果设计者想要一个自定义的形状,则可将ShapeSize的属性定义为“Customize,(x1,y1),(x2,y2),(x3,y3),(x4,y4)...”而此时该背景上的字体大小也就被决定了;The second step is to define the control, which generally adopts the layout form of the table. Through analysis, the interface is composed of three controls: the title bar, the data area and the scroll bar; the first is the title bar, which is divided into two parts: the background and the data source , the background is a rounded rectangle with a length of 300 pixels and a height of 40 pixels and a radius of 20, so the ShapeSize property of the title bar control is "RectRound, 300, 40, 20, 20". Of course, if the designer wants a custom shape , the ShapeSize attribute can be defined as "Customize, (x1, y1), (x2, y2), (x3, y3), (x4, y4)..." and the font size on the background is also was decided;

而该控件没有加入图片的需求故SourcePath属性设置为“NULL”,CMD属性设置为“Telemetry_Title”,该值为设计者自定义,只需保证是程序的唯一值即可;以此类推另外两个控件的属性设置,详见表1此处不再赘述,最终将以上更改保存到xml文件中。However, the control does not need to add pictures, so the SourcePath property is set to "NULL", and the CMD property is set to "Telemetry_Title". For the property setting of the control, see Table 1 for details and will not go into details here, and finally save the above changes to the xml file.

表1:控件的属性设置。Table 1: Property settings of the control.

Figure BDA0004154647440000111
Figure BDA0004154647440000111

第三步需要为该页面中的控件编写响应函数,项目名由第一步中的DLL属性决定,项目类型插件即在Qt的pro里将TEMPLATE设置为lib,根据插件接口编写对应的接收函数,而接收函数的核心就是CMD,所以在上文中强调CMD属性的唯一性,以上文中的标题栏为例,在此处我们需要为Telemetry_Title编写对应的响应值,并将获取到的“名称,数值,单位”的信息通过插件接口返回给主应用程序,主应用程序再通过Qpaintevent的drawText函数最终完成控件绘制,接着为剩余控件按此规则编写响应函数,编译成.so或.dll文件,与完整编译的用时相比如表2所示;最终,连同上述xml文件打包,解压到装置或设备中,与传统设备程序升级的流程对比如图8所示。The third step is to write a response function for the controls on the page. The project name is determined by the DLL attribute in the first step. The project type plug-in is to set TEMPLATE to lib in the Qt pro, and write the corresponding receiving function according to the plug-in interface. The core of the receiving function is CMD, so the uniqueness of the CMD attribute is emphasized above. Taking the title bar above as an example, here we need to write the corresponding response value for Telemetry_Title, and obtain the "name, value, Unit" information is returned to the main application program through the plug-in interface, and the main application program finally completes the control drawing through the drawText function of Qpaintevent, and then writes response functions for the remaining controls according to this rule, compiles them into .so or .dll files, and completes the compilation The time-consuming comparison is shown in Table 2; finally, together with the above xml file, it is packaged and decompressed into the device or equipment, and the comparison with the traditional equipment program upgrade process is shown in Figure 8.

表2:与完整编译的用时对比。Table 2: Time comparison with full compilation.

现有技术编译时长Prior Art Compilation Time11min23.7s11min23.7s本发明编译时长Compilation time of the present invention12.3s12.3s

第四步,设备中正在运行的HMI读取到新的xml文件后,生成新的菜单树,在新的菜单树中就可以找到新增的“遥测量查看”功能,如图9所示;选择该功能后,应用程序读取xml相应的部分调用Qpaintevent生成页面,对应关系如表3所示,完成绘制后等待页面触发事件。Step 4: After the HMI running in the device reads the new xml file, it generates a new menu tree, and in the new menu tree, you can find the newly added "telemetry view" function, as shown in Figure 9; After selecting this function, the application reads the corresponding part of the xml and calls Qpaintevent to generate the page. The corresponding relationship is shown in Table 3. After the drawing is completed, wait for the page to trigger an event.

表3:对应关系。Table 3: Correspondence.

XML元素XML elementQPaintevent调用函数QPaintevent call functionRectRoundRectRounddrawRoundedRectdrawRoundedRectLinelinedrawLinedrawLine信息informationdrawText/drawImagedrawText/drawImage

由上述可知,本发明提供的方法能够解决快速开发过程中自由度较低的问题,实现界面中对应的事件,用于解决重复编译问题减少编译时间;并且在对软件进行更新时,仅需更改XML配置文件并将对应的Qt导入装置即可完成更新,解决传统软件更新需要重启的问题。与现有技术相比,本发明提出的快速开发和部署方法具有更高的开发自由度、更少的编译内容、安全快速的更新能力。It can be seen from the above that the method provided by the present invention can solve the problem of low degree of freedom in the rapid development process, realize the corresponding events in the interface, and be used to solve the problem of repeated compilation and reduce the compilation time; and when updating the software, only need to change The update can be completed by importing the XML configuration file and the corresponding Qt into the device, which solves the problem that traditional software updates need to be restarted. Compared with the prior art, the rapid development and deployment method proposed by the present invention has higher development freedom, less compiling content, and safe and rapid update capability.

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention without limitation, although the present invention has been described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand that the technical solutions of the present invention can be carried out Modifications or equivalent replacements without departing from the spirit and scope of the technical solution of the present invention shall be covered by the claims of the present invention.

Claims (10)

1. A man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux is characterized by comprising the following steps:
programming an event function of a corresponding control in a program page by using a program page corresponding to the layout of a designer at a desktop end;
generating an XML file and an engineering file according to the event function, compiling the engineering file to generate an plugin, and importing the XML file and the plugin into an embedded device running an embedded computing system;
and the program of the embedded device draws the page by combining the drawing event function in the language graphic interface library with the XML file, and calls the imported plug-in to execute the corresponding event in the page, thereby realizing the rapid development and deployment of the man-machine interaction interface program.
2. The method for quickly developing and deploying a man-machine interaction interface program suitable for Arm-Linux according to claim 1, wherein the method comprises the following steps: the program page corresponding to the layout of the designer at the desktop end comprises,
before the program page is laid out at the desktop end, screen attributes of screen resolution, screen size and color depth corresponding to the program page and key control or touch control operation attributes are required to be written;
when a program page corresponding to the designer layout is utilized, detail fine adjustment can be performed through an imported template to directly generate a required XML file, a blank page can be newly built according to requirements, a preset control is copied on the basis of the blank page to complete the layout, the shape of the control can be redrawn, and the redrawn control can be converted into a two-dimensional coordinate of a closed loop.
3. The method for quickly developing and deploying the man-machine interaction interface program applicable to Arm-Linux according to claim 2, wherein the method comprises the following steps: the writing of the event function of the corresponding control in the program page comprises,
defining a spatial structure relation among corresponding controls in the program page, and grouping and arranging the spatial structure relation by using control names;
defining a plug-in path and a screen-lighting duration called by the page according to the result of the grouping arrangement;
creating a control node according to requirements, and defining an interface command used when the control node calls a function, wherein the interface command is a character;
and creating an engineering file corresponding to the XML file, and editing event functions corresponding to the calling commands one by one in the engineering file.
4. The rapid development and deployment method of man-machine interaction interface program applicable to Arm-Linux according to claim 3, wherein: the calculation of the custom control shape includes,
Figure FDA0004154647430000021
FTitle =3*FText /2
wherein F isText Indicating text font pound number, pxWidth Pixel value, px, representing width of controlHeight Pixel value representing control height, FTitle Indicating the pounds of title font.
5. The rapid development and deployment method of man-machine interaction interface program applicable to Arm-Linux according to claim 3, wherein: the XML file may be comprised of a file,
the XML file defines basic information of the whole page at the root node of the outermost layer, wherein the basic information comprises screen size information, pixels and a key press event of the plug-in or a touch operation mode, the key press event corresponds to the key press event, and the touch operation mode corresponds to a mousepresentate or mousereevevent mouse event of the plug-in;
node elements of the main body part of the XML file are divided into three types, including menu pages, function pages and controls;
the menu page contains the following attributes: name in program, display title and icon path;
the attributes contained in the function page comprise, besides the three attributes of the menu page: page structure definition, plug-in path and screen-lighting duration;
the control comprises the following properties: control name, shape, resource path, and call command.
6. The method for quickly developing and deploying the man-machine interaction interface program applicable to Arm-Linux according to claim 5, wherein the method comprises the following steps: the generation of the plug-in includes,
and generating an XML file and an engineering file according to the event function, compiling the engineering file to generate a plug-in unit in a so format, and packaging and importing the plug-in unit and the XML file together into an embedded device running an embedded computing system.
7. The method for quickly developing and deploying the man-machine interaction interface program applicable to Arm-Linux according to claim 6, wherein the method comprises the following steps: the drawing of the page may include,
after the man-machine interaction interface program is started, firstly, sub-element names are obtained through traversing the XML file, a main menu page is generated, and if and only if a user operates, the elements contained under the node are inquired through obtaining menu serial numbers selected by the user;
if the menu page is still the menu page, continuing to generate the menu, if the menu page is the function page, traversing elements under the function page nodes, calling Qpage class drawing page controls according to element attributes, and when traversing is completed, calling QLayout according to GridDef of the page to complete page layout;
after the page drawing is completed, when a user triggers a certain event, the user inquires the function in the corresponding plugin to complete the event response through the calling command of the control, and finally, the development and the deployment of the man-machine interaction interface program are realized.
8. A man-machine interaction interface program rapid development and deployment system suitable for Arm-Linux is characterized by comprising:
the page layout unit is used for laying out a corresponding program page at the desktop end by using a designer, and writing an event function of a corresponding control in the program page;
the plug-in generating unit is used for generating an XML file and an engineering file according to the event function, compiling the engineering file to generate a plug-in, and importing the XML file and the plug-in into an embedded device running an embedded computing system;
and the development and deployment unit is used for drawing the page by combining the drawing event function in the language graphic interface library with the XML file, and calling the imported plug-in to execute the corresponding event in the page, so that the quick development and deployment of the man-machine interaction interface program are realized.
9. An apparatus, characterized in that the apparatus comprises,
a processor;
a memory for storing processor-executable instructions;
the processor is configured to invoke the instructions stored in the memory to perform the method of any of claims 1-7.
10. A computer readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the method of any of claims 1 to 7.
CN202310330012.XA2023-03-302023-03-30Man-machine interaction interface program rapid development and deployment method suitable for Arm-LinuxPendingCN116382688A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202310330012.XACN116382688A (en)2023-03-302023-03-30Man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202310330012.XACN116382688A (en)2023-03-302023-03-30Man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux

Publications (1)

Publication NumberPublication Date
CN116382688Atrue CN116382688A (en)2023-07-04

Family

ID=86970543

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202310330012.XAPendingCN116382688A (en)2023-03-302023-03-30Man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux

Country Status (1)

CountryLink
CN (1)CN116382688A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN116820431A (en)*2023-08-302023-09-29山东威尔数据股份有限公司Embedded application development and operation method with full function node. Js

Citations (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20050060719A1 (en)*2003-09-122005-03-17Useractive, Inc.Capturing and processing user events on a computer system for recording and playback
CN104317587A (en)*2014-10-222015-01-28中国人民解放军国防科学技术大学Automatic android mobile device oriented application generation method
CN105739976A (en)*2016-01-262016-07-06四川神州雅韵科技有限公司Method for rapidly generating Windows Phone applications in a visual manner
CN112764741A (en)*2021-03-022021-05-07浙江鸿城科技有限责任公司Method and device for visually editing interface and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20050060719A1 (en)*2003-09-122005-03-17Useractive, Inc.Capturing and processing user events on a computer system for recording and playback
CN104317587A (en)*2014-10-222015-01-28中国人民解放军国防科学技术大学Automatic android mobile device oriented application generation method
CN105739976A (en)*2016-01-262016-07-06四川神州雅韵科技有限公司Method for rapidly generating Windows Phone applications in a visual manner
CN112764741A (en)*2021-03-022021-05-07浙江鸿城科技有限责任公司Method and device for visually editing interface and electronic equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
进击的小喽啰: "Qt Plugin 的用法讨论", pages 1 - 6, Retrieved from the Internet <URL:https://juejin.cn/post/6889291055485845512>*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN116820431A (en)*2023-08-302023-09-29山东威尔数据股份有限公司Embedded application development and operation method with full function node. Js
CN116820431B (en)*2023-08-302023-11-14山东威尔数据股份有限公司Embedded application development and operation method with full function node. Js

Similar Documents

PublicationPublication DateTitle
CN106775725B (en)Visual configuration editing method and device
CN102339291B (en)Method and equipment for generating list
WO2015078343A1 (en)Development method for web development system, and web development system
US20140253574A1 (en)Development Environment For Capture Of Image Data From A Mobile Device
KR20080042852A (en) Display-based extensibility for the user interface
WO2016054549A1 (en)Application prototyping tool
CN103309659A (en)User interface dynamic generation method and device based on rich client platform
CN104995622A (en)Compositor support for graphics functions
BR112019025644A2 (en) website building system and method for a website building system
EP2199924B1 (en)Multiple document displaying for viewing and editing
CN116382688A (en)Man-machine interaction interface program rapid development and deployment method suitable for Arm-Linux
US10635458B2 (en)Systems and methods for generating a self-updating maintenance page
KR101709186B1 (en)Interactive multimedia E-book authoring apparatus and method
JP2009238215A (en)Data processing device and data processing method
FaddaAn iOS Developer's Guide to SwiftUI: Design and build beautiful apps quickly and easily with minimum code
JP4566196B2 (en) Document processing method and apparatus
CN111124385B (en) A method and system for automatic generation of database-based power supply design software
JP4627530B2 (en) Document processing method and apparatus
JP2007265011A (en)Screen program layout change method, information processor, program and recording medium
JPWO2005098662A1 (en) Document processing apparatus and document processing method
JPWO2006051974A1 (en) Document processing apparatus and document processing method
Bueno et al.Rewriting history: more power to creative people
CN114020358A (en)Interface rendering method and device based on iOS application
JP2946715B2 (en) Program generation method and specification input method for it
JP7298413B2 (en) Operation screen creation device, operation screen creation method and program

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination

[8]ページ先頭

©2009-2025 Movatter.jp