文档章节

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

天朝搬砖工
 天朝搬砖工
发布于 2013/12/26 14:57
字数 714
阅读 44
收藏 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
Qt Creator 2.4.0 beta 发布

Qt Creator 2.4 beta 发布。该版本包括了许多大大小小的改进,以及一些新功能。 根据Qt博客的Eike Ziller介绍,最诱人的功能/改进无疑是新增的“同步声明及定义”功能。使用该功能,当要改变...

小卒过河
2011/10/21
1K
2
用QML语言开发MeeGo应用程序在线开发教程 – MeeGo开发中文网

用QML语言开发MeeGo应用程序在线开发教程 – MeeGo开发中文网 用QML语言开发MeeGo应用程序在线教程 – MeeGo开发中文网 Qt Declarative UI 传得沸沸扬扬,却很少有中文资料介绍这是一个什么样...

look
2011/02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker部署springboot项目

安装docker 菜鸟教程 springboot项目 maven依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001......

yimingkeji
今天
10
0
ios多个target

1.建立3个target,分别为heroone,heroone test,heroone dev;分别为正式环境,test环境,dev环境 2.注意取消掉autocreate以防止名字不对,分别以Duplicate的方式建立另外两个scheme 3.创建...

HeroHY
今天
6
0
php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部