1. 程式人生 > >qt.conf和qtconfig配置Qt執行設定

qt.conf和qtconfig配置Qt執行設定

前面翻譯加工了一篇關於Qt4 Windows程式打包釋出的文章 , 裡面提到了一個重要的Qt配置檔案qt.conf, 這裡就講講關於這個檔案的前世今生。

經常有人寫Qt程式裡頭用到Qt的外掛,有時忘記把外掛與程式一起釋出,有時是不喜歡Qt預設的外掛預設路徑, 導致程式找不到外掛。 遇到這種情況先看看那篇打包釋出的文章, 預設情況下Qt執行需要的各種路徑都寫死在Qt庫裡, 如果實在不喜歡Qt的外掛路徑就要用到qt.conf檔案了, 這個檔案裡的設定能override Qt庫的路徑。

Qt程式啟動時會用QLibraryInfo類載入qt.conf檔案, 按下面的路徑順序搜尋 :

  1. 資源系統, :/qt/etc/qt.conf
  2. Mac系統下會在資源目錄, 例如:assistant.app/Contents/Resources/qt.conf
  3. 執行檔所在目錄,如: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-appearance

這張截圖已經非常說明問題, qtconfig這個工具可以負責設定Qt應用的外觀、字型等等眾多屬性,並且可以在介面上實時預覽。 有一點從圖中看不出,就是這個程式只有X11的版本, 它配置的內容會儲存在Linux系統使用者的家目錄中, 所以不同的使用者還可以設定不同的內容。 該工具的文件很簡單, 大家要自己編譯試執行一下才能更好的理解它的功能。

PS:載入外掛plugins時一定要加上子目錄。例如:支援圖片顯示的外掛必須放到/plugins/imageformats裡面,否則不能顯示圖片