[Android] Qt安卓教程(2):移植Qt到安卓
来源:互联网 发布:域名被腾讯浏览器拦截 编辑:程序博客网 时间:2024/04/29 11:30
系列教程主要讲述与安卓移植版Qt的相关内容,如平台特性、功能限制、特定用户体验和内容发布等,其余与Qt自身非平台相关的内容不会作详细讲述,笔者默认童鞋们已经有一定的Qt功底。
另:请自备安卓机子一台,不推荐用模拟器。
第二篇:移植Qt到安卓
1. 直接移植Qt自带的例子
首先打开安装Qt的目录,再进入desktop版Qt的库目录(我这个因为是Linux所以显示的是gcc版,win的应该显示mingw或vs2010),找到examples文件夹——quick文件夹——demo文件夹——samegame文件夹;
这时可以先把samegame.qmlproject这个文件拖进creator里面试试看效果,一个简单小游戏,而且支持两人一起玩;
现在开始移植工作;
建立一个Qt安卓项目(QT QUICK 2),先不要改任何代码,试试看能不能在手机上运行,不知道怎么运行的请看第一篇;
回到刚才的samegame文件夹,把samegame.qml 、setting.js和content文件夹复制到刚刚建立的新项目的qml文件夹内,这时文件夹内应该有这么几个文件:
现在进入main.cpp文件,把第九行的main.qml改成samegame.qml,保存;
然后进入.pro文件,添加一行: QT += quick multimedia sql , 保存后编译;
去到 项目————运行————包配置,点“从应用程序读取信息”,然后确保sql模块被选中;
(此步骤可选)其实现在就能运行程序了,运行前可以尝试修改android的配置文件,在 其它文件————android————AndroidManifest.xml,打开这个文件,会出现一个配置窗口,而不是xml编辑窗口,这个配置窗口可以修改包的名字,程序名字,图标和权限,这里建议不要修改“run”的文字,不然可能会出现找不到可执行文件的情况;
点左下角的运行按钮,手机上运行起来了。
以上步骤可用于纯qml程序的移植,其它情况另作讨论。
2. 移植widget类程序
很多童鞋说不会用qml,那么在安卓上用c++ widget行不?那当然是可以的,笔者表示不推荐,官方也不推荐,原因很多,主要是widget不适合触摸屏,而且默认不使用opengl加速,导致程序效率不高。下面我示范简单运行一个widget程序在安卓上。
新建一个项目,选择Qt Gui程序(笔者只有很少几个widget写的程序,而且都比较大,不适合移植到安卓,这里只示范一个新的widget项目)
记得选择安卓的套件;
在designer中加入几个widget;
编译,然后去 项目————运行————包配置里面确认运行库,保证widget库被选上;(Qt5中widget被独立出来了,可能有一些还在用Qt4的童鞋不知道)
这时可以运行了,效果如下,笔者表示挺丑的。。。
笔者智商捉急,也只能写到这种程度了,嫌我不够水平的童鞋请忽略我。。
另:请自备安卓机子一台,不推荐用模拟器。
第二篇:移植Qt到安卓
1. 直接移植Qt自带的例子
首先打开安装Qt的目录,再进入desktop版Qt的库目录(我这个因为是Linux所以显示的是gcc版,win的应该显示mingw或vs2010),找到examples文件夹——quick文件夹——demo文件夹——samegame文件夹;
这时可以先把samegame.qmlproject这个文件拖进creator里面试试看效果,一个简单小游戏,而且支持两人一起玩;
现在开始移植工作;
建立一个Qt安卓项目(QT QUICK 2),先不要改任何代码,试试看能不能在手机上运行,不知道怎么运行的请看第一篇;
回到刚才的samegame文件夹,把samegame.qml 、setting.js和content文件夹复制到刚刚建立的新项目的qml文件夹内,这时文件夹内应该有这么几个文件:
现在进入main.cpp文件,把第九行的main.qml改成samegame.qml,保存;
然后进入.pro文件,添加一行: QT += quick multimedia sql , 保存后编译;
去到 项目————运行————包配置,点“从应用程序读取信息”,然后确保sql模块被选中;
(此步骤可选)其实现在就能运行程序了,运行前可以尝试修改android的配置文件,在 其它文件————android————AndroidManifest.xml,打开这个文件,会出现一个配置窗口,而不是xml编辑窗口,这个配置窗口可以修改包的名字,程序名字,图标和权限,这里建议不要修改“run”的文字,不然可能会出现找不到可执行文件的情况;
点左下角的运行按钮,手机上运行起来了。
以上步骤可用于纯qml程序的移植,其它情况另作讨论。
2. 移植widget类程序
很多童鞋说不会用qml,那么在安卓上用c++ widget行不?那当然是可以的,笔者表示不推荐,官方也不推荐,原因很多,主要是widget不适合触摸屏,而且默认不使用opengl加速,导致程序效率不高。下面我示范简单运行一个widget程序在安卓上。
新建一个项目,选择Qt Gui程序(笔者只有很少几个widget写的程序,而且都比较大,不适合移植到安卓,这里只示范一个新的widget项目)
记得选择安卓的套件;
在designer中加入几个widget;
编译,然后去 项目————运行————包配置里面确认运行库,保证widget库被选上;(Qt5中widget被独立出来了,可能有一些还在用Qt4的童鞋不知道)
这时可以运行了,效果如下,笔者表示挺丑的。。。
笔者智商捉急,也只能写到这种程度了,嫌我不够水平的童鞋请忽略我。。
0 0
- [Android] Qt安卓教程(2):移植Qt到安卓
- QT移植arm_linux教程
- [Android] Qt安卓教程(1): 从Qt5.1开始
- qt 移植(转载)
- QT与安卓
- qt for 安卓
- 【Linux开发】【Qt开发】ARM QT移植详细步骤教程
- Qt程序移植到ARM(2)
- ARM QT移植详细步骤教程
- Qt移植到ARM Linux教程
- ARM QT移植详细步骤教程
- Qt移植到ARM Linux教程--转载
- ARM QT移植详细步骤教程--转载
- ARM QT移植详细步骤教程
- Qt移植到ARM Linux教程
- Qt移植到ARM Linux教程
- qt移植
- qt移植
- 【嵌入式开发】树莓派+官方摄像头模块+VLC串流实时输出网络视频流
- php操作redis常用方法代码例子
- python使用re进行字符串查找和替换
- 【转载】Struts2的常量配置总结
- 负载均衡之加权轮询算法
- [Android] Qt安卓教程(2):移植Qt到安卓
- 常量指针(const pointer)和指向常量的指针(pointer to const)
- Java (数组)
- hdu 2602 Bone Collector 01背包
- C# SuperSocket服务端入门(一)
- Bestcoder #85 1001(HDU5776)
- 2000--ASCII码排序
- 使用Navicat for Oracle新建表空间、用户及权限赋予
- unity 有限状态机(一)