自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

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

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

2014-12-29 20:37:06 7263 9

原创 【QT】QML中的JavaScript用法详解

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

2014-12-23 17:44:15 6341

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

在UI应用程序中,我们常常要处理鼠标事件,一个MouseArea就可以搞定许多事情。MouseArea本身是不可见的,主要和一些可见的元素一起使用,先来看一下它有哪些属性:acceptedButtons:Qt::MouseButtons枚举类型,默认为Qt.leftButton,用来设置有效的鼠标按键,支持按位与“|”操作符,具体按键类型可参考——http://doc.qt.io/

2014-12-22 17:44:04 14377 1

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

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

2014-12-19 17:33:38 8291 1

原创 【QT】QML UI布局

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

2014-12-15 12:30:55 4728

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

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

2014-12-12 16:17:39 10593 4

原创 【QT】QML之Item详解

使用QML,掌握Item元素的用法是非常有必要的,为什么这么说呢?因为QML中所有的可视化元素都继承自Item,而Item则定义了一些基本的、通用的属性和方法。这里的“可视化”需要特别说明一下,并不是所有的可视化元素都是可见的,比如说Rectangle继承自Item,本身是可见的,但是如果将其opacity透明度属性设置为0或者是其它的什么原因,就变成不可见的了,不过还是实实在在存在于UI界面的,

2014-12-10 16:52:17 12006 1

原创 【QT】QML属性绑定

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

2014-12-08 13:53:38 2849

原创 【QT】QML中的信号和函数

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

2014-12-08 11:22:07 11874 1

原创 【QT】QML几种属性

每一个QML对象都定义了一系列属性,类似于C++中的成员变量,属性名的首字母一般小写,若属性名以多个单词表示,那么第二个及以后的单词,首字母大写。id属性——QML对象的id属性是唯一的,不同对象的id属性值不能相同,我们可通过某个对象的id属性来访问这个对象。id属性是QML语言内建的一个属性,在对象实例化完成后其值是不能被修改的,不同于其它的普通属性。id属性值必须以小写字母或下划线开

2014-12-05 13:41:20 5822 1

原创 【QT】QML代码规范

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

2014-12-04 20:24:56 2012

原创 【QT】QML基本语法

1、QML文件下面的例子是一个简单的QML文件:// main.qmlimport QtQuick 2.3Rectangle { width: 500 height: 100 color: "lightblue" Rectangle { width: 50; height: 50 anchors.centerIn:

2014-12-04 12:59:05 1761

原创 【QT】QML模型与列表

ListElement与ListModelListElement要定义在ListModel中,是模型列表中的元素,可以使用ListView或Repeater来访问。ListElement中的属性名是自定义的,首字母小写,属性值是个简单的常量。ListModel是一个数据列表源,就像是ListElement的容器一样,封装了若干ListElement,元素个数可以通过count属性获得,附加

2014-12-02 14:41:01 3344 1

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

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

2014-12-01 17:07:48 2702

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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