援助 Qt4 style 小記
這幾天都在家養病,實在很悶,之前就有打算研究 Qt4 的 [
Style API],不過一直沒動力。昨晚打開 Skype (版本 1.4 / 2.0 Beta),想來分析在 Linux 上的運作,而也已經移植到 Qt4,所以能玩的東西更多了,不過,正當要動手的時候,就遇到跳出來的聊天視窗:
後面就是一些「援助」訊息,大家都知道是怎麼一回事,而我竟然跟那個人聊起來了,也順便思考背後的架構設計,果然如長輩云:「作壞事是最大的原動力」,其言不假。Skype 採用 Qt4,無論環境設定如何,優先使用 Cleanlooks style,詳情可參考 [
skype 1.4 beta has hardcoded qt style],但有命令列選項可作修改,比方說我們實做了一個名為 qTunes 的 Qt4 Style,那麼可指定如下:
skype --disable-cleanlooks -style qTunes
當然,要確定在 /usr/lib/qt4/plugins/styles 目錄下有安裝此一 qTunes 的 plugin。早上試著實做仿 iTunes 佈景主題的 style 如下: (click to enlarge)

果然賞心悅目許多,不過真正想做的,還是如何讓 Qt4 的應用程式如 Opera 與 Skype,能夠保持與 Gtk+ 一致的 Look-n-Feel,在沒有辦法修改原始程式碼的前提下,其實我們能對 Qt4 runtime 作一些處理,而且 Skype 這樣的操作情境其實是很單純的,但問題就在於 Qt 的 theme engine 並不是以 pixmap 作為操作的單元,這使得很難在執行時期取得 Gtk+ 的樣貌。
由 jserv 發表於 March 13, 2008 01:43 PM