qt.conf和qtconfig配置Qt執行設定
前面翻譯加工了一篇關於Qt4 Windows程式打包釋出的文章 , 裡面提到了一個重要的Qt配置檔案qt.conf, 這裡就講講關於這個檔案的前世今生。
經常有人寫Qt程式裡頭用到Qt的外掛,有時忘記把外掛與程式一起釋出,有時是不喜歡Qt預設的外掛預設路徑, 導致程式找不到外掛。 遇到這種情況先看看那篇打包釋出的文章, 預設情況下Qt執行需要的各種路徑都寫死在Qt庫裡, 如果實在不喜歡Qt的外掛路徑就要用到qt.conf檔案了, 這個檔案裡的設定能override Qt庫的路徑。
Qt程式啟動時會用QLibraryInfo類載入qt.conf檔案, 按下面的路徑順序搜尋 :
- 資源系統, :/qt/etc/qt.conf
- Mac系統下會在資源目錄, 例如:assistant.app/Contents/Resources/qt.conf
- 執行檔所在目錄,如:QCoreApplication::applicationDirPath()+QDir::seperator()+”qt.conf”
qt.conf的格式與ini檔案一致, 可以用QSettings去訪問, 這個檔案裡要設定一個Paths選項組,其中可以設定的項如下:
項 |
預設值 |
Prefix | QCoreApplication::applicationDirPath() |
Documentation | doc |
Headers | include |
Libraries | lib |
Binaries | bin |
Plugins | plugins |
Data | . |
Translations | translations |
Settings | . |
Examples | . |
Demos | . |
Prefix應該是一個絕對路徑,其他的設定都是相對於Prefix的相對路徑。 這些項不用都寫進去, 只設定與預設值不同的項就可以了。例如:
[Paths]
Prefix = /some/path
Translations = i18n
在這個檔案裡還可以給不同版本的Qt設定不同Paths, 方法是使用Paths/x.y.z的形式, 這裡的x是主版本號,y是次版本號,z是補丁級別號, 如:
Paths
Paths/4
Paths/4.1
Paths/4.2.5
其中的y和z可以忽略,並且系統會選擇版本上最接近的設定,如Qt4.5這裡會匹配Paths/4.2.5. 而在找不到匹配的版本號時,會使用Paths的設定, 如Qt5.0匹配Paths。
好了,學會配置這個檔案就不用擔心外掛找不到了。
另外,還經常有人問Qt程式的字型、風格等等能不能設定, 實際上Qt提供了一個用來配置Qt設定的工具叫qtconfig, 可能多數人還不熟悉。 這個工具就可以幫使用者根據自己的喜好設定Qt程式的外觀。 下面看一張程式介面的截圖:
這張截圖已經非常說明問題, qtconfig這個工具可以負責設定Qt應用的外觀、字型等等眾多屬性,並且可以在介面上實時預覽。 有一點從圖中看不出,就是這個程式只有X11的版本, 它配置的內容會儲存在Linux系統使用者的家目錄中, 所以不同的使用者還可以設定不同的內容。 該工具的文件很簡單, 大家要自己編譯試執行一下才能更好的理解它的功能。
PS:載入外掛plugins時一定要加上子目錄。例如:支援圖片顯示的外掛必須放到/plugins/imageformats裡面,否則不能顯示圖片