在上一篇文章,《Qt on Android:QML 语言基础》中,我们介绍了 QML 语言的语法,在最后我们遗留了一些问题没有展开,这篇呢,我们就正式开始撰写 Qt Quick 程序,而那些问题,随着本系列文章的展开也会一一被干掉。

在开始介绍 Qt Quick 应用的基本元素之前,我们先来创建一个 HelloQtQuickApp 项目,就是经典的 Hello World 了。

笔者的教程最终会面向 Qt Quick 与 C++ 混合编程,所以我们

HelloQtQuickApp

从零开始。

创建项目

打开 Qt Creator ,点击文 "件(F)" 菜单,在弹出的菜单列表中选择 "新建文件或项目(N)" 。如下图所示:

如上操作后, Qt Creator 会弹出新建项目界面,让我们选择应用模板。如下面的所示:

这里我们选择 "应用程序" 项目, "Qt Quick Application" 模板。可以看到最右侧的实时提示,说这模板支持 QML 和 C++ 混合编程,这正是我们需要的,因为笔者最终提供的有使用价值的实例就是混合了 QML 和 C++ ,而且我的观点也正是这样:复杂的应用,使用 QML 快速构建界面,使用 C++ 完成关键算法和逻辑。另外还看到支持 Destop 和 Android 两个平台。

点击 "选择(C)..." 按钮,新建项目向导会指引我们进入下一环节 "项目介绍和位置" 。参考下图:

请参考上图,将项目名称设置为 HelloQtQuickApp 。

点击 "下一步" 按钮,跟随向导进入组件选择环节,如图:

请参考图示,选择  Qt Quick 2.0 。

点击 "下一步" 按钮,跟随向导进入构建套件选择("Kit Selection")环节。

我选择了两个套件,"Android for armeabi-v7a (GCC 4.7, Qt 5.2.0)" 和 "Desktop Qt 5.2.0 MinGW 32bit" 。请对照下图检查你的配置。

点击 "下一步" 按钮,跟随向导进入 "项目管理" 环节。在这里你可以选择是否将项目加入版本控制系统(如 svn 之类),还可以看到即将添加到我们的 "HelloQtQuickApp" 项目中的文件。如下图所示:

终于看到 "完成(F)" 按钮了,赶紧点击它!你会看到下面的项目编辑界面(我展开了项目视图以便看到项目中的所有文件):

虽然是一个简单的 Hello World ,向导还是很热情地给我们添加了很多文件,比如 qtquick2applicationviewer.h / qtquick2applicationviewer.cpp / main.cpp / main.qml 。接下来我们做点儿小改动。

运行项目

请把 main.qml 文件中的 "Hello World" 替换为 "Hello Qt Quick App" ,然后直接运行项目,(在电脑上)即可看到下面的效果:

好啦,我们的 HelloQtQuickApp 项目就这么完成了。

在手机上运行

接下来让我们做一些改动以便 HelloQtQuickApp 能够在 Android 手机上运行。

看下图:

首先我们需要点击标号为 1 的标签进入项目属性配置界面;然后点击标号为 2 的按钮,切换到 Android 运行选项;第三步呢,标号 3 的详情按钮点一下,展开部署详情;然后呢,参考标号 4 ,选择 Qt 部署策略为 Use Ministro service to install Qt ;最后一步,就是标号 5 所示按钮,创建 Android 应用需要的 AndroidManifest.xml 文件,点击后看到下面的界面:

直接点击 "完成(F)" 按钮即可。然后就进入了 AndroidManifest.xml 编辑界面:

你可以按照图示,修改应用的包名,笔者修改为 an.qt.helloQtQuickApp ,然后关闭 AndroidManifest 编辑界面时会提示你保存,选择保存所有就行了。

新的项目视图如下:

注意我标注的区域。

现在我们的项目终于完善了,可以在 Android sh上运行了。如对 Qt on Android 项目设置有不明之处,请移步我另外一篇文章——《Qt on Android:图文详解Hello World全过程》,如果你还没搭建好 Qt on Android 开发环境,请参考《Windows下Qt 5.2 for Android开发入门》。

运行项目,会让你选择目标设备,我连接的真机,选择了真机。具体请参考《Qt on Android:图文详解Hello World全过程》。下面是运行效果截图:

看起来没什么吸引人的?不错,确实如此。不过呢,这只是开始,刚刚开始。随着深入学习,你可以自己制作出精美的应用和炫酷的游戏。如果你已经迫不及待了,请把 Qt SDK 中的 Qt Quick 的示例程序找几个出来跑跑看。

哎呀,看起来,对于 Qt Quick 基本元素的介绍只能放到下一次了……

原文:http://blog.csdn.net/foruok/article/details/28850879

qt on android qml,Qt on Android: Qt Quick 之 Hello World 图文详解相关推荐

  1. Qt on Android:图文详解Hello World全过程

    这是系列文章中的一篇,阅读本文前请先阅读<Windows下Qt 5.2 for Android开发入门>,以便确保开发环境和作者一致. 部分文章被转发/转载却没有注明出处,特此声明:版权所 ...

  2. Qt on Android 图文详解Hello World全过程

    这是系列文章中的一篇,阅读本文前请先阅读<Windows下Qt 5.2 for Android开发入门>,以便确保开发环境和作者一致. 部分文章被转发/转载却没有注明出处,特此声明:版权所 ...

  3. Android中Canvas绘图之Shader使用图文详解

    概述 我们在用Android中的Canvas绘制各种图形时,可以通过Paint.setShader(shader)方法为画笔Paint设置shader,这样就可以绘制出多彩的图形.那么Shader是什 ...

  4. Android四大组件之——Activity的生命周期(图文详解)

        转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com       [Andro ...

  5. 图文详解如何搭建Windows的Android C++开发环境

    原地址:http://www.apkbus.com/android-18595-1-1.html //================================================= ...

  6. 【图文详解】Android手机系统精简 搭建Linux集群硬件环境 Jdk运行HelloWorld

    1.序言 经过多日的折腾,终于有点小小成就!期间反反复复,多次尝试,有好几次都有了放弃的念头:但最终还是坚持了下来,仔细学习研究的文章有好几十篇,各种工具到处找.为了总结经验教训,也为了有同样需求的朋 ...

  7. android代码查找快捷键是什么,Android Studio搜索功能(查找功能)及快捷键图文详解(示例代码)...

    1.在当前窗口查找文本[Ctrl+F] F3 向下查找关键字出现位置 Shift+F3 向上一个关键字出现位置 2.在当前工程内查找文本[Ctrl+Shift+F] 先会弹出一个对话框,直接点击[fi ...

  8. android收藏功能demo,Android使用Realm数据库实现App中的收藏功能(代码详解)

    前 言 App数据持久化功能是每个App必不可少的功能,而Android最常用的数据持久化方式主要有以下的五种方式: 使用SharedPreferences存储数据: 文件存储数据: SQLite数据 ...

  9. Carson带你学Android:图文详解RxJava背压策略

    前言 Rxjava,由于其基于事件流的链式调用.逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎. 本文主要讲解的是RxJava中的 背压控制策略,希望你们会喜欢. Cars ...

最新文章

  1. 在ASP.NET下实现数字和字符相混合的验证码
  2. Linux I2C(一)之常用的几种实例化(i2c_client ) 【转】
  3. sql 以a开头的所有记录_#9#猴子聊数据分析之常见的SQL笔试题和面试题(下)
  4. opengl库中gl glu glut glaux的区别
  5. Vue实现组件props双向绑定解决方案
  6. Matcha已升级至0xV4版,比Uniswap和Sushi等平台节省4%的交易费
  7. 当有多个设备online时,命令行窗口通过adb连接指定设备方法
  8. burpsuite_pro的使用
  9. 资管新政:银行资产管理业务的转型与发展 -中国银行刘东海
  10. 2018计算机一级证件照,2018下半年软考报名照片要几寸的呢?是要白底照片吗?...
  11. 手机管理服务器文件夹,手机管理服务器文件夹
  12. (十二:2020.08.28)CVPR 2016 追踪之论文纲要(译)
  13. 不需要数据库的php迷你博客程序,GitHub - Smilefish0/miniblog: 一个不需要数据库、轻量级、微型、开源的博客程序!...
  14. 企业官方微博的视觉设计与营销策略分析
  15. 放牛娃谈堆排序---(为了说明白,我重新学习了如何说“人话”)
  16. C# 城市路网地图生成与运动模拟(一)-数据的获取
  17. vue全家桶+koa2+mongoDB打造全栈社区博客
  18. webbench源码学习--命令行选项解析函数getopt和getopt_long函数
  19. BootStrap4工具类之阴影效果
  20. windows2012装sql 2000 sql 2005 vs2005的解决办法

热门文章

  1. 每日一皮:当你修bug时,是否碰到过这种场景...
  2. 为什么 HashMap 的加载因子是0.75?
  3. Java 14 Hotspot 虚拟机垃圾回收调优指南!
  4. 优雅处理你的Java异常
  5. 死磕Java并发:J.U.C之AQS简介
  6. 04741计算机网络原理知识点,04741计算机网络原理知识点整理.doc
  7. SVN 服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求
  8. GNOME启动时激活NumLock
  9. mxnet根据相似度进行人脸样本对图片清理
  10. mysql comment