[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的童鞋不知道)
    
    
    这时可以运行了,效果如下,笔者表示挺丑的。。。
    


笔者智商捉急,也只能写到这种程度了,嫌我不够水平的童鞋请忽略我。。
0 0
原创粉丝点击