QML语言在显控界面开发中的应用 .pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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的元对象系统,只有这样

这个类的某些方法或属性

文档评论(0)

176****1317 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档