讓我們來看4個OS如何判斷...
啟稿: 2015/01/25
完稿: 2015/01/25
QT CueTai線索台
跨平台實作12-跨平台實作進階:自行定義執行程式Icon,四作業系統自動判斷
雖然我們已經學會因應四種不同的作業系統自行定義執行程式Icon的方法,但同樣的我們不可能沒次要編譯不同的作業系統就要修改不同的pro設定;所以我們如同前面"跨平台實作07-如何加入個別的資源檔,四作業系統自動判斷"所學的來進行修改!
l Pro檔中的qmake語言
利用前面所學的四個作業系統的範例加入QMake Language彙整成以下的內容:
ResourcesFiles.files = \
../analogclock/Configure.txt \
../analogclock/audio/alarm.wav \
../analogclock/audio/bird.wav \
../analogclock/audio/cricketnight.wav \
../analogclock/audio/dolphin.wav \
../analogclock/audio/hour.wav \
../analogclock/audio/laser.wav \
../analogclock/audio/water.wav
macx:!win:!android:!ios {
ResourcesFiles.path = Contents/Resources
QMAKE_BUNDLE_DATA += ResourcesFiles
ICON = ../analogclock/analogclock.icns
}
else : ios {
ResourcesFiles.path = resource
IconFiles.files = \
../analogclock/icon.png \
../analogclock/icon@2x.png \
../analogclock/Default.png \
../analogclock/Default@2x.png
QMAKE_BUNDLE_DATA += ResourcesFiles IconFiles
}
else : android {
ResourcesFiles.path = /assets
INSTALLS += ResourcesFiles
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
OTHER_FILES += \
android/AndroidManifest.xml
}
else {
ResourcesFiles.path = Resources
INSTALLS += ResourcesFiles
RC_ICONS = analogclock.ico
}
經過上述的修改,QT就會根據選擇的Kit,來自行定義執行程式Icon。
l 修改程式
在此只有變更程式Icon,所以不用改程式。
l 建置與執行
現在大功告成了,只是要注意在MAC OS X或Windows作業系統建置時,若為QT開發平台debug/release狀態下,記得最前端加入以下一行程式:
clock.OpNow = clock.DEBUG_; //APP_, DEBUG_, RELEASE_
要建置正式執行app則改為:
clock.OpNow = clock.APP_; //APP_, DEBUG_, RELEASE_
現在你可以以自動判斷所在的作業系統平台而自行設定與更動了!試試看吧!!
l 延伸應用及問題
基本上我們已經學會並建立了一定的架構來因應四種不同的作業系統平台,看起來也可以做出像樣的應用程式了,雖然它已經可以在你的四種不同的作業系統平台上執行,但是當你想要另外交給別人在他的裝置上執行,你就會發現有問題還差一大步,那是還缺甚麼呢?
留言列表