evo

自强不息,厚德载物 ii Making others better! Making life better ^_^

【QT】QML与C++混合编程详解

1、QML与C++为什么要混合编程 QML与C++为什么要混合编程,简单来说,就是使用QML高效便捷地构建UI,而C++则用来实现业务逻辑和复杂算法,下面介绍了两者间交互的方法与技巧。 2、QML访问C++概述 Qt集成了QML引擎和Qt元对象系统,使得QML很容易从C++中得到扩展,在一定的条件...

2014-12-29 20:37:06

阅读数:4456

评论数:8

【QT】QML中的JavaScript用法详解

熟悉JavaScript的应该都了解Netscape公司,一代骄子虽然倒下了,却给后人留下了最为珍贵的产品和经验,在互联网发展史上享有举足轻重的地位,这里就不讲故事了,虽然很精彩,从未被磨灭。QML是对JavaScript的扩展,提供了JS主机环境,用法相似,但有些地方与浏览器/服务器端提供的JS...

2014-12-23 17:44:15

阅读数:3337

评论数:0

【QT】QML的Mouse事件(MouseArea)详解

在UI应用程序中,我们常常要处理鼠标事件,一个MouseArea就可以搞定许多事情。MouseArea本身是不可见的,主要和一些可见的元素一起使用,先来看一下它有哪些属性: acceptedButtons:Qt::MouseButtons枚举类型,默认为Qt.leftButton,用来设置有效...

2014-12-22 17:44:04

阅读数:10389

评论数:1

【QT】QML的Key事件(Keys)详解

QML中的Keys元素提供了一些附加属性,之所以说是“附加属性”,是因为它与其它的QML元素用法不同。Keys是专门用来处理键盘事件KeyEvent的,它定义了许多针对特定按键的信号,例如digit0Pressed(KeyEvent event)、spacePressed(KeyEvent eve...

2014-12-19 17:33:38

阅读数:4314

评论数:0

【QT】QML UI布局

在QML应用程序中,布局无疑是一个非常重要的概念,QML可视化元素的布局方式多种多样,经常用到的就是anchors锚布局,其它还有Positioners、Layouts等,下面一一介绍。 1、属性定位 如果说我们的QML元素位置是固定的,那么使用x、y属性进行布局要比其它布局方式更加直观、高效,这...

2014-12-15 12:30:55

阅读数:3236

评论数:0

【QT】QML如何创建动态组件

QML动态组件指的是按需分配,需要时我们就创建一个自定义组件,也就是所谓的对象延迟实例化,而不是在程序一开始就创建它,不需要时我们就把它销毁以节约内存,而不是传统意义上的隐藏或覆盖。我们可以使用Component与Loader,也可以使用JavaScript的形式来完成。 先来介绍一下Compon...

2014-12-12 16:17:39

阅读数:5916

评论数:3

【QT】QML之Item详解

使用QML,掌握Item元素的用法是非常有必要的,为什么这么说呢?因为QML中所有的可视化元素都继承自Item,而Item则定义了一些基本的、通用的属性和方法。这里的“可视化”需要特别说明一下,并不是所有的可视化元素都是可见的,比如说Rectangle继承自Item,本身是可见的,但是如果将其op...

2014-12-10 16:52:17

阅读数:5431

评论数:0

【QT】QML属性绑定

所谓属性绑定,就是建立目标对象对其它对象的依赖关系,当其它对象发生变化时,目标对象也会变化,自动更新相关的属性值,达到动态属性的效果,这也是QML很重要的一个机制,先举一个简单的例子: import QtQuick 2.3 Rectangle { width: 360; height: ...

2014-12-08 13:53:38

阅读数:1988

评论数:0

【QT】QML中的信号和函数

在QtC++中,signals& slots是其核心机制,是应用程序与UI组件交互的神经网络,同样在QML中,也有类似的signal& handler机制,signal信号就是我们常说的一种事件,可通过signalhandler信号处理器来处理这个信号。当某个s...

2014-12-08 11:22:07

阅读数:8231

评论数:1

【QT】QML几种属性

每一个QML对象都定义了一系列属性,类似于C++中的成员变量,属性名的首字母一般小写,若属性名以多个单词表示,那么第二个及以后的单词,首字母大写。 id属性—— QML对象的id属性是唯一的,不同对象的id属性值不能相同,我们可通过某个对象的id属性来访问这个对象。id属性是QML语言内建的一个属...

2014-12-05 13:41:20

阅读数:4110

评论数:0

【QT】QML代码规范

在QML文件中,我们通常会遵循一定的编码规范,比如说用空行来分隔不同层次的代码,不仅可以增强其可读性,还可以提升工作效率,让程序更清晰、健壮。 QML对象属性顺序—— 首先是对象的id属性,然后依次是自定义属性、信号、函数、对象属性、子对象、状态、迁移等,如下例子所示: Rectangle { ...

2014-12-04 20:24:56

阅读数:1566

评论数:0

【QT】QML基本语法

1、QML文件 下面的例子是一个简单的QML文件: // main.qml import QtQuick 2.3 Rectangle { width: 500 height: 100 color: "lightblue" R...

2014-12-04 12:59:05

阅读数:1100

评论数:0

【QT】QML模型与列表

ListElement与ListModel ListElement要定义在ListModel中,是模型列表中的元素,可以使用ListView或Repeater来访问。ListElement中的属性名是自定义的,首字母小写,属性值是个简单的常量。 ListModel是一个数据列表源,就像是ListE...

2014-12-02 14:41:01

阅读数:1357

评论数:0

【QT】QtQml模块提供的C++ API

QtQml模块提供了一些C++API,可使用“#include”声明,或者“#include”单独声明,pro文件中添加“QT+= qml”。 QJSEngine:提供了JavaScript代码求值环境。 QJSEngine myEngine; QJSValuethree = myEngin...

2014-12-01 17:07:48

阅读数:2071

评论数:0

提示
确定要删除当前文章?
取消 删除