文档章节

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

天朝搬砖工
 天朝搬砖工
发布于 2013/12/26 14:57
字数 714
阅读 45
收藏 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
博文 15
码字总数 12200
作品 0
东城
其他
私信 提问
Mini 容器学习笔记1——环境搭建(基础篇)

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

netcasewqs
2011/08/26
0
0
OpenCV笔记大集锦

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

langb2014
2016/05/11
0
0
qml+opencv(一)

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

首席吹牛官
2015/05/22
0
0
Docker容器技术 学习笔记汇总

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

iotisan
2017/10/20
0
0
Qt Creator 2.4.0 beta 发布

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

小卒过河
2011/10/21
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

mosquitto 集群搭建

在Mosquitto集群中,客户端可以在任何节点上订阅主题,也可以在任何节点上发布消息,集群会保证消息按需转发到正确的节点。 为了均衡负载及避免单点故障,Mosquitto集群实现为完全去中心化、...

yanlijun_java
25分钟前
5
0
阿里高级技术专家:研发效能的追求永无止境

背景 大约在5年前,也就是2013年我刚加入阿里的时候,那个时候 DevOps 的风刚吹起来没多久,有家公司宣称能够一天发布几十上百次,这意味着相比传统软件公司几周一次的发布来说,他们响应商业...

阿里云云栖社区
29分钟前
1
0
正则匹配demo

要求:密码中有大写字母,小写字母,以及数字 package com.example.demo;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author seif * @Description: ...

经常把天聊死的胖子
30分钟前
5
0
阿里重磅开源首款自研科学计算引擎Mars,揭秘超大规模科学计算

日前,阿里巴巴正式对外发布了分布式科学计算引擎 Mars 的开源代码地址,开发者们可以在pypi上自主下载安装,或在Github上获取源代码并参与开发。 此前,早在2018年9月的杭州云栖大会上,阿里...

阿里云官方博客
30分钟前
3
0
在 Kubernetes 中配置私有 DNS 和上游域名服务器

Before you begin You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a clust......

xiaomin0322
39分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部