CN111858106A - 一种qml扩展控件的属性设置方法 - Google Patents
一种qml扩展控件的属性设置方法 Download PDFInfo
- Publication number
- CN111858106A CN111858106A CN202011005199.9A CN202011005199A CN111858106A CN 111858106 A CN111858106 A CN 111858106A CN 202011005199 A CN202011005199 A CN 202011005199A CN 111858106 A CN111858106 A CN 111858106A
- Authority
- CN
- China
- Prior art keywords
- message
- qml
- different
- client
- page
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种QML扩展控件的属性设置方法,属于基于Qt开发的组态软件中图形应用的技术领域,QML扩展控件的属性设置方法包括以下步骤:步骤1,创建消息客户端;步骤2,根据不同的QML页面的需求分别实例化一个消息服务器;步骤3,消息客户端告知消息服务器每个QML页面相对应的消息类型,并发送消息;步骤4,消息服务器对不同的QML实例进行过滤处理,并将符合的消息类型反馈给相应的QML页面;步骤5,消息客户端在不同的QML页面之间接收或发送不同消息类型的消息并处理。本发明可以消除不同的QML页面之间的耦合关系,解决了很多页面之间消息传递困难的问题,使消息传递更加的简单快捷。
Description
技术领域
本发明涉及一种QML页面之间传递消息方法,属于基于Qt开发的组态软件中图形应用的技术领域。
背景技术
在基于由控触摸屏的业务的扩展,触摸屏上需要支持的用户交互越来越多,交互方式各不一样,用户交互带来的页面内其他控件的反馈,页面之间的跳转等,都需要涉及到控件之间的消息传递。而公司先前的软件框架支持的控件都是不支持用户交互的控件,也很少涉及到控件之间的消息传递。传统实现方式接收消息的QML页面必须知道发送消息的QML对象,这种方式导致软件很复杂,开发成本较高。
如图1所示:传统的QML容器之间传递消息时,各页面必须知道其他QML容器的位置,通过定制的QML页面接受或发送消息。
发明内容
为了解决上述技术问题,本发明提供QML扩展控件的属性设置方法,其具体技术方案如下:
所述QML扩展控件的属性设置方法包括以下步骤:
步骤1,创建消息客户端,
步骤1.1,创建一个以上QML页面,并实例化消息客户端,
步骤1.2,在经过实例化的客户端中注册不同的消息类型,
步骤2,根据不同的QML页面的需求分别实例化一个消息服务器,
步骤3,消息客户端告知消息服务器每个QML页面相对应的消息类型,并发送消息,
步骤4,消息服务器对不同的QML实例进行过滤处理,并将符合的消息类型反馈给相应的QML页面。
步骤5,在不同的QML页面之间接收或发送不同消息类型的消息并处理,
进一步的,所述消息客户端和消息服务器通过Qt C++来创建。
进一步的,步骤1.2中所述的经过实例化的客户端设有自定义阈值。
进一步的,步骤4中消息服务器的筛选途径包括通过阈值筛选以及通过消息名称筛选。
进一步的,消息客户端发送消息给消息服务器,告知QML文件的消息类型,并发送消息给消息服务器。
进一步的,步骤1中所述的消息客户端通过注册的方式创建。
本发明的有益效果是:
1、可以消除不同的QML页面之间的耦合关系,解决了很多页面之间消息传递困难的问题,使QML页面的逻辑更加纯粹,减少了软件的复杂度,消息传递更加的简单快捷。
2、经过实例化的客户端可以设置阈值,使消息只会在该特定的区域内进行收发,不需要广播到其他区域,节约软件负载度。
3、可以把页面最大化的拆解成不同的控件,对控件的功能进行归纳总结,只需要开发一组通用的控件,就可以让客户定制的页面,尽可能多的使用现有控件来配置,将需要单独定制开发的内容最小化。
附图说明
图1是本发明的现有技术示意图,
图2是本发明的设置流程图,
图3是本发明的结构示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
如图2所示,创建该扩展空间的步骤包括:
步骤1,创建消息客户端,
步骤1.1,创建4个QML页面,包括QML页面A,QML页面B,QML页面C和QML页面D,并将这4个实例化消息客户端,QML页面即使用Qt Quick开发一个页面(视图、图层),实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。也就是说把消息客户端这个对象实例化到QML页面中。
步骤1.2,在经过实例化的客户端中注册不同的消息类型,其中,QML页面A注册的消息类型为1和2,QML页面B注册的消息类型为1,QML页面C注册的消息类型为3和4,QML页面D不注册消息类型。消息类型就是不同的消息,消息头不同;把消息定义成键值对,”speed”:”50m/s”、 “busID”:”16路”
消息类型就是speed消息和busID消息,不同的key。
步骤2,根据不同的QML页面的需求分别实例化一个消息服务器,如果QML页面不需要处理任何消息,可不需要实例化消息服务器,需要处理消息的QML页面只需要实例化一个消息服务器,把自己页面需要的消息类型注册到服务器里。
步骤3,消息客户端告知消息服务器每个QML页面相对应的消息类型,并发送消息。
步骤4,消息服务器对不同的QML实例进行过滤处理,将QML页面C中的消息类型3和4过滤,消息服务器将其他符合的消息类型反馈给相应的QML页面。
步骤5,消息客户端根据消息服务器的反映结果使QML页面A接受消息类型1和2的消息并进行处理,QML页面B接收消息类型1的消息并进行处理,QML页面D发送消息类型1和2的消息。
如图3所示,QML页面包括注册消息类型,发送消息类型和实例化客户端,页面A设置的消息类型为2,发送的消息类型为1,页面B注册的消息类型为1,接受的消息类型为1,QML页面A和QML页面B分别通过消息客户端向消息服务器告知页面A和B的消息类型,并发送消息类型1,消息服务器通过对消息类型的过滤和筛选向消息客户端反馈符合的消息类型1给QML页面B。
不同的QML页面可能需要相同的消息内容,图3中,如页面A是个视频播放页面,需要的消息是mediaList(视频播放列表)、页面B是个视频播放和图片播放页面,需要的消息是mediaList(视频播放列表)和imageList(图片播放列表),当dbus总线有消息mediaList:1.mp4,2.avi发送过来时,页面A和B时都要接收并处理并显示的。
综上,本发明可以消除不同的QML页面之间的耦合关系,解决了很多页面之间消息传递困难的问题,使QML页面的逻辑更加纯粹,消息通信更加简单。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (6)
1.一种QML扩展控件的属性设置方法,其特征在于所述QML扩展控件的属性设置方法包括以下步骤:
步骤1,创建消息客户端,
步骤1.1,创建一个以上QML页面,并实例化消息客户端,
步骤1.2,在经过实例化的客户端中注册不同的消息类型,
步骤2,根据不同的QML页面的需求分别实例化消息服务器,
步骤3,消息客户端告知消息服务器每个QML页面相对应的消息类型,并发送消息,
步骤4,消息服务器对不同的QML实例进行过滤处理,并将符合的消息类型反馈给相应的QML页面,
步骤5,消息客户端在不同的QML页面之间接收或发送不同消息类型的消息并处理。
2.根据权利要求1所述的QML扩展控件的属性设置方法,其特征在于所述消息客户端和消息服务器通过Qt C++来创建。
3.根据权利要求1所述的QML扩展控件的属性设置方法,其特征在于:步骤1.2中所述的经过实例化的客户端设有自定义阈值。
4.根据权利要求1所述的QML扩展控件的属性设置方法,其特征在于:步骤4中消息服务器的筛选途径包括通过阈值筛选以及通过消息名称筛选。
5.根据权利要1所述的QML扩展控件的属性设置方法,其特征在于:消息客户端发送消息给消息服务器,告知QML文件的消息类型,并发送消息给消息服务器。
6.根据权利要求1所述的QML扩展控件的属性设置方法,其特征在于:步骤1中所述的消息客户端通过注册的方式创建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011005199.9A CN111858106A (zh) | 2020-09-23 | 2020-09-23 | 一种qml扩展控件的属性设置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011005199.9A CN111858106A (zh) | 2020-09-23 | 2020-09-23 | 一种qml扩展控件的属性设置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858106A true CN111858106A (zh) | 2020-10-30 |
Family
ID=72968499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011005199.9A Pending CN111858106A (zh) | 2020-09-23 | 2020-09-23 | 一种qml扩展控件的属性设置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858106A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672221A (zh) * | 2021-07-28 | 2021-11-19 | 安徽省水利水电勘测设计研究总院有限公司 | 基于QML的MicroStation平台图形用户界面构建方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160078661A1 (en) * | 2014-09-11 | 2016-03-17 | Continental Automotive Gmbh | Animation arrangement |
CN109189588A (zh) * | 2018-08-07 | 2019-01-11 | 武汉斗鱼网络科技有限公司 | 一种浏览器功能实现方法、装置、终端及存储介质 |
-
2020
- 2020-09-23 CN CN202011005199.9A patent/CN111858106A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160078661A1 (en) * | 2014-09-11 | 2016-03-17 | Continental Automotive Gmbh | Animation arrangement |
CN109189588A (zh) * | 2018-08-07 | 2019-01-11 | 武汉斗鱼网络科技有限公司 | 一种浏览器功能实现方法、装置、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
WEIXIN_33919941: "QML与Qt C++ 交互机制探讨与总结", 《HTTPS://BLOG.CSDN.NET/WEIXIN_33919941/ARTICLE/DETAILS/85842450》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672221A (zh) * | 2021-07-28 | 2021-11-19 | 安徽省水利水电勘测设计研究总院有限公司 | 基于QML的MicroStation平台图形用户界面构建方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6223212B1 (en) | Method and system for sharing negotiating capabilities when sharing an application with multiple systems | |
US8606859B2 (en) | Method and system to communicate messages in a computer network | |
CN102362477B (zh) | 用于计算机桌面远程共享的方法 | |
US8285807B2 (en) | Method and system for remote industrial factory automation control of a local system | |
EP1897337B1 (en) | Multidevice session establishment for multimodal browsing | |
US6915347B2 (en) | Associating multiple display units in a grouped server environment | |
US7107543B2 (en) | Single applet to communicate with multiple HTML elements contained inside of multiple categories on a page | |
US11134040B2 (en) | Managing customer relationship using multiple chat servers designed to interface with service applications | |
CN110012328B (zh) | 一种与智能电视交互的方法及装置 | |
US20020129096A1 (en) | Platform-independent distributed user interface client architecture | |
KR20040053165A (ko) | 발행/구독 시스템을 이용한 무선 메시징 서비스 방법 및시스템 | |
US20020111995A1 (en) | Platform-independent distributed user interface system architecture | |
US11221981B2 (en) | Asynchronous channel based bus architecture enabling decoupled services | |
EP1215573A1 (en) | Local and remote processing | |
US10133696B1 (en) | Bridge, an asynchronous channel based bus, and a message broker to provide asynchronous communication | |
CN102523109A (zh) | 资源状态更新方法、管理客户端及服务器 | |
US20060267998A1 (en) | Systems and methods for management of parameters in a multi-node graphics system | |
CN111858106A (zh) | 一种qml扩展控件的属性设置方法 | |
CN111600790A (zh) | 基于区块链的消息处理方法、装置、设备和存储介质 | |
US10579577B2 (en) | Bridge and asynchronous channel based bus to provide UI-to-UI asynchronous communication | |
KR102130005B1 (ko) | 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버 | |
US5727148A (en) | Message control method and system | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
US20020184313A1 (en) | Method for exchange of data and user interface components | |
WO2006014904A2 (en) | System and method for networked computer graphics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201030 |
|
RJ01 | Rejection of invention patent application after publication |