文档章节

QML学习笔记-介绍篇(1)

天朝搬砖工
 天朝搬砖工
发布于 2013/12/26 14:57
字数 714
阅读 43
收藏 0

前几日在Qt官网的一篇blog里发现了一个正在写Qt5书籍的网址http://qmlbook.org/。通过阅读了作者写的内容,可以说,在Qt5出来将近1年的时间里,除去官方的教程,这本书是目前相对入门简单且讲得也相对系统的一本书籍,尽管这本书籍目前还处在完善阶段,我可以体会到作者在空闲时间写这本书所倾注的精神。

好了闲话不多说,接下来我将写下看完这本书后入门QtQuick开发的一些随感心得。

首先,要开始学习QtQuick之前,读者最好是有C++/Qt的知识和一些javascript的基本知识,我可能会在讲解QML的过程中将其和传统的C++/Qt里的常见类进行一些对比。

 

Qt4和Qt5的一些小差别:

用过Qt4的同学可能会注意到一点细微的差别,在Qt5中,QtWidget已经作为一个单独的模块从QtGui中独立出去,QtGui已经成为了一个类似于绘图的工具,所在在做图形界面的时候会稍有不同。其实相对而言,QtWidget模块非常适合用来做桌面开发,但是如果你是一个移动开发爱好者,不是说QtWidget不能用来做移动开发,而是这玩意做出来的效果在触屏上体验真不是一般的差,而且问题还多多,所以这个时候,作为“为移动开发而特别优化过”的QtQuick应当作为你的首选,但QtQuick同样也是可以方便的作为桌面开发的方案。由于这次主要讲的是Qt5,所以示例代码基本是在Qt5下运行的,Qt4可能需要修改一点点吧~

 

开始简单的QML的“Hello World”

在桌面程序开发中,我们可以通过如下代码展现一个图形窗口的hello world

#include<QLabel>
#include<QApplication>
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
QLabel label(“Hello World”);
label.show();
return a.exec();
}

这将在桌面上呈现一个QLabel控件,并显示出hello world字样。

而在QML里,我们将通过一下代码实现

import QtQuick 2.0
Text{
text:’hello world’
}

效果如下图

 

从代码量上来看,QML确实是非常的简洁,简要说明一下这个qml代码在干嘛吧。这里我们其实是声明了一个Item(QML中所以可视化元素的根,类似于桌面开发中的QWidget类是大多数可视化控件的根)的子元素Text,并将其text属性赋予Hello World的字符串值,然后这段QML就会被交给QML解释程序去执行,并展现如图。

下一节将开始讲解QML相关入门知识。

© 著作权归作者所有

共有 人打赏支持
天朝搬砖工
粉丝 4
博文 14
码字总数 11252
作品 0
东城
其他
Mini 容器学习笔记1——环境搭建(基础篇)

一. 环境下载 到Mini 容器的官方网站下载NLite框架的二进制文件,下载并解压后就可以了。 我们使用NLite框架需要用到下面的文件: NLite.dll(必要) 二. 建立NLite应用程序 新建一个控制台应用...

netcasewqs
2011/08/26
0
0
qml+opencv(一)

前言 突然想起opencv,一直想做人脸识别,可是理论基础太水,只能慢慢来,去年学习了一会,然后公司让我去搞app和网络,就一直搁着,现在学习qml,突然想能不能在qml里面使用opencv,所以就有...

首席吹牛官
2015/05/22
0
0
OpenCV笔记大集锦

 整理了我所了解的有关OpenCV的学习笔记、原理分析、使用例程等相关的博文。排序不分先后,随机整理的。如果有好的资源,也欢迎介绍和分享。 1:OpenCV学习笔记 作者:CSDN 数量:55篇博...

langb2014
2016/05/11
0
0
Docker容器技术 学习笔记汇总

“如果你不出去走走,你就会以为这就是全世界。” 一直在嵌入式领域,这次遇到Docker算是长了见识。刚好公司同事们对这块了解地不多,那就把Docker容器技术的学习梳理成系列笔记,让其他伙伴少...

iotisan
2017/10/20
0
0
Spring.NET学习笔记——目录(原)

目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔记2——环境搭建(基础篇) Level 200 Sprin...

长平狐
2012/06/11
887
1

没有更多内容

加载失败,请刷新页面

加载更多

Bash工作管理详解

Bash工作管理 Bash的工作是对具体任务的一个抽象表述,更确切的说是对管道的应用上的表述。Bash中的工作在形式上表现为一组相关进程或单个进程。工作进程组分为前台和后台,前台进程会对键盘...

小陶小陶
13分钟前
1
0
Qt那些事0.0.1

LIBS += -L$$PWD/lib/ -lStv1QMAKE_POST_LINK += $$QMAKE_COPY $$replace(PWD,"/","\\")\lib\Stv1.dll $$replace(OUT_PWD,"/","\\")\debug\Stv1.dll pro文件里,写起来按理说应该是轻松地......

Ev4n
22分钟前
1
0
如何正确的使用动态VPS(Linux)自动更换IP

背景 现在越来越多的人开始玩网赚项目,蚂蚁再小也是肉,薅羊毛的羊毛党越来越多,一些网赚项目也越来越受欢迎,但是一般的网赚项目都是要求真实用户的,所以要想获得大量的真实ip,一种动态...

bengozhong
29分钟前
1
0
分布式任务系统(LTS)部署学习使用

章节速览 背景介绍 环境部署 LTS架构原理&代码样例 个人心得经验 一、背景介绍 很多公司应该都会遇到job服务部署执行时:定时、并发、分布式这些问题。有的人就是只跑一个job服务,这样会简单...

硅步积千里
39分钟前
28
0
kotlin使用spring data redis(一)

1.引包 #忘记引用这个包的下场就是#nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfigcompile 'org.apache.commons:commons-p......

weidedong
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部