[Android] Qt安卓教程(2):移植Qt到安卓
系列教程主要講述與安卓移植版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的童鞋不知道)
這時可以執行了,效果如下,筆者表示挺醜的。。。
筆者智商捉急,也只能寫到這種程度了,嫌我不夠水平的童鞋請忽略我。。
相關文章
- [Android] Qt安卓教程(1): 從Qt5.1開始AndroidQT安卓
- Qt5.2.1移植海思QT
- QT之安卓開發——生成APK以及真機測試QT安卓APK
- qt-5.6.0 移植之qt檔案系統的建立QT
- QT移植到Linux總結(一)tslib1.0QTLinux
- 虹軟人臉識別——官方 Qt Demo 移植到 LinuxQTLinux
- Qt Phonon教程QT
- Vulkan移植GPUImage的安卓Demo展示GPUUI安卓
- Qt Creater 2QT
- Qt Creator系列教程QT
- [Android手機]教程:修改安卓手機…Android安卓
- 安卓備份系統教程安卓備份系統教程安卓
- 10_QT系統移植之在開發板上部署QT執行環境QT
- Qt學習2QT
- 09_QT系統移植之交叉編譯QT原始碼和觸控原始碼QT編譯原始碼
- Qt (5.10.0)for androidQTAndroid
- 【Qt 專欄】Qt Creator 的 git 配置 & 上傳到giteeQTGitee
- 什麼是qt,QT Creator, QT SDK, QT DesignerQT
- Qt學習之路2QT
- QT之qss教程-QSpinBoxQT
- 從零開始移植QT4.8.5之三--linux下交叉編譯QT執行庫QTLinux編譯
- Qt Android 實現全屏QTAndroid
- QT開發快速入門-教程1:搭建QT開發環境QT開發環境
- 安卓Material Design(2)安卓Material Design
- Qt5.12配置OpenCV教程QTOpenCV
- 安卓Android 按鈕案例安卓Android
- Qt 介面美化教程 QSS QML Qt自繪方式優缺點對比QT
- qt呼叫js,js呼叫qtQTJS
- Qt:QT右鍵選單QT
- QT父子與QT物件deleteQT物件delete
- Qt學習--Qt Plugin建立及呼叫2(外掛管理器)QTPlugin
- QTQT
- 抓取安卓閃退日誌教程安卓
- 安卓USB開發教程 USB Accessory安卓
- 安卓USB開發教程 USB Host安卓
- Qt入門(11)——Qt外掛QT
- Qt Creator匯入不同Qt版本QT
- Qt快速入門系列教程目錄QT