文档章节

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

WangRichard
 WangRichard
发布于 2013/12/26 14:57
字数 714
阅读 41
收藏 0
点赞 0
评论 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相关入门知识。

© 著作权归作者所有

共有 人打赏支持
WangRichard
粉丝 4
博文 13
码字总数 11049
作品 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
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
Qt for iOS,Qt 与Objective C混合编程

因为我写了一系列Qt的博文以及一本书《Qt on Android核心编程》,最近有好几个使用Qt的朋友问起 Qt for iOS 的事情,因为我在这方面的经验特别少,写不出系统的文章来,非常抱歉,不能给出令...

foruok
2015/02/02
0
0
Spring.NET学习笔记——目录(原)

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

长平狐
2012/06/11
887
1
CoAP协议学习笔记 2.4 阿里云IoT平台接入 高级版CoAP协议接入测试

这篇笔记涉及 阿里云CoAP接入,CoAP协议学习笔记可点此查看。 1 前言 2.3 阿里云IoT平台接入 了解下物模型完成了高级版接入所必须的物模型概念的梳理。 这篇笔记将会修改SDK,完成高级版产品...

iotisan
05/11
0
0
1+1=2的 blog 文章索引

百度空间中 原blog部分文章 索引:http://hi.baidu.com/cyclone/home Qt Bugs 通过 Qt Bugs 学习 Qt 似乎是一个不错的方法。 中文相关 中文问题说到底就是一个 unicode 和传统窄字符串 char...

晨曦之光
2012/05/08
184
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
2
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
1
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部