- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
QML语言在显控界面开发中的应用
摘要:协议测试主要分为以下四方面:一致性测试、互操作性测试、性能测
试、鲁棒性测试。协议一致性测试是协议测试中最为关键的测试,是其他协议测
试类型的基础。已经有大量的研究与实践对协议一致性测试做了深入探讨,到目
前为止,仍然缺乏系统、有效而实用的协议一致性测试方法。目前的协议一致性
测试没有对一致性测试执行全过程研究,难以适应工程化应用的需要。在涉及各
类工控设备的软件中,需要和各类工控设备通信。各种工控设备一般都有特殊的
协议结构,通用化的测试工具无法直接使用。对于一些特殊测试需求,通用化的
测试工具也无法满足。因此,需要研究一种简单易行的协议测试软件。
关键词:协议测试;一致性测试;QML
前言:随着制造业的升级改革,大量的设备生产厂面临着更新换代,用户对
数控系统的需求量显著增大,特别是具有友好的人机交互界面以及能够进行快速
二次开发的数控系统更受用户的青睐。目前很多数控系统开发商都在开发人性化
的人机界面和组态软件,来提高数控系统的开发效率,而华中数控系统目前还缺
乏专有的组态软件以及能够运行组态软件的数控系统平台。
1.QML语言概述
QML是一种描述语言,并且它们已经被整合到Qt开发环境中,QtQuick的核
心之一就是QML语言。Qt5.0开始程序员使用QquickView类从QT应用程序中载
入QML文件,并与之互动。QML元素是先进的图形元素。这些图形元素可以叠加
在任意图形界面上,像搭积木那样构建程序界面,这一特性使得QML既可以快速
创建新的程序界面,也可以非常方便地改造已有的程序界面,QML还可以在脚本
里创建图形对象,并且支持各种图形特效。同时又能跟Qt写的c++代码进行交互,
使用起来非常方便。QML为程序开发人员与界面设计人员合作开发程序界面创造
了条件。界面设计人员可以通过PhotoShop、Visio等图形开发工具设计出非常
漂亮的程序界面,然后Qt程序开发人员在此基础上进行二次开发,将QML图形
元素叠加到程序界面上以完成各种功能。
2.协议解析/构造
在描述协议中,总结协议特点,提出以下几个需求:
(1)完全自定义;(2)允许公共模块的嵌套;(3)支持数据绑定;(4)
支持枚举类型;(5)支持数组类型;(6)支持选择结构;(7)支持描述协议树。采
用xml作为协议描述文件是一种常见的做法,优点是程序结构简单,借用现有的
xml文件读取模块,可以方便的完成程序代码的编写。缺点是编辑协议复杂,在
描述复杂协议结构时,可读性不够好。对公共模块的嵌套并非天然支持,需要自
定义规则。其它格式化文本存在类似的问题。GoogleProtobufbuffers(简称
Protobuf)是一种轻便高效的结构化数据存储格式,它用于结构化数据的串行
化.Google的protobuf采用完全自定义语法格式的.proto文件格式,为了读取
该文件,编写了专用的前端分析,实现了完整的一套解释器。该解释器只支持
Google自身的protobuf。
参考Protobuf,自定义一门语言去描述新的软件需求是唯一的方法了。但是
在当今软件开发环境下,重复造轮子是不可取的。研究发现QML语法符合上述所
有特点。QML是一种声明性语言,是一种可读性很强的语言,旨在使组件能够以
动态方式互连,并允许组件在用户界面中易于重用和自定义。QML同时支持自定
义数据类型,这样就允许采用QML语法,自定义一个全新的解释语言。
而且QML支持文件的嵌套,直接使用文件名即可引用该类型。Qt自身的属性
绑定系统给数据绑定提供了便利。比如上面的文件为Time.qml,那么在其他文件
中可以直接使用该类型。
3.QML与C++和Javascript的交互
3.1QML与C++的交互
QML主要是完成对一些界面的绘制,对于一些需要进行逻辑判断和操作的界
面,它并不能很好地实现,在这种情况下,就需要通过C++来完成。因此,如何
进行QML与C++的交互就十分重要了,本节将着重介绍两种方法。(1)用C++创
建新的QML类型在QML中,要想将一个类或者是对象导出到QML中,必须满足两
个前提条件:一、继承自QObject或QObject的派生类;二、使用了Q_OBJECT
宏。这两个条件是为让一个类或者是对象能够进入Qt的元对象系统,只有这样
这个类的某些方法或属性
您可能关注的文档
最近下载
- 喉全切除术后患者的护理.doc VIP
- 高二物理练习(电场).pdf VIP
- 广州主要景点英文介绍——陈家祠堂、西关大屋、越秀公园、上下九、广州塔.doc
- 2024学年八年级上学期期末考试历史试题(含答案) .pdf VIP
- B777_F1B_AFM_30_20141222_中英对照版.pdf
- 室内质控失控原因分析及处理.pptx
- 国家自然科学基金申请书撰写技巧和注意事项课件.ppt VIP
- 某项目一期20MWp渔光互补光伏电站桩基工程施工专项方案.doc VIP
- 2024年河南省禹州市中考第一次模拟考试语文试题(文字版∣含答案)..docx
- 《平行四边形的面积》说课课件 人教版五年级上册数学.ppt
文档评论(0)