close

讓我們來看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 XWindows作業系統建置時,若為QT開發平台debug/release狀態下,記得最前端加入以下一行程式:

    clock.OpNow = clock.DEBUG_;                     //APP_, DEBUG_, RELEASE_

要建置正式執行app則改為:

    clock.OpNow = clock.APP_;                       //APP_, DEBUG_, RELEASE_

 

現在你可以以自動判斷所在的作業系統平台而自行設定與更動了!試試看吧!!

 

l   延伸應用及問題

基本上我們已經學會並建立了一定的架構來因應四種不同的作業系統平台,看起來也可以做出像樣的應用程式了,雖然它已經可以在你的四種不同的作業系統平台上執行,但是當你想要另外交給別人在他的裝置上執行,你就會發現有問題還差一大步,那是還缺甚麼呢?

arrow
arrow
    創作者介紹
    創作者 Philip4G 的頭像
    Philip4G

    Philip4G四眼仙機的部落格

    Philip4G 發表在 痞客邦 留言(0) 人氣()