2010-12-03 62 views
1

我們希望用戶能夠選擇性地定製我們的QT應用程序。所以如果他們想爲我們的應用程序創建自己的主題,他們所要做的就是加載他們自己的CSS文件。如何創建自定義UI的QT插件?

我們是否真的需要創建一個插件才能做到這一點?如果是的話,有人可以給我基本的步驟/或者如何做到這一點的開始?如果不是,QT中有哪些功能需要知道才能在不創建插件的情況下執行此操作?

回答

5

我有一個Jabber即時通訊軟件,它是基於插件的,用Qt寫的。它包含一個style插件,它完全符合您的描述。該插件的源是在這裏:

https://github.com/sje397/saje/tree/master/plugins/styles/

(注:這是我的應用程序插件 - 不是Qt的風格插件「)

基本上所有你需要做的是加載一個風格片和呼叫QApplication::setStyleSheet

QFile f("filename"); 
if(f.open(QIODevice::ReadOnly)) { 
    qApp->setStyleSheet(f.readAll()); 
} 

一個有效的樣式表的一個例子是here。請注意,它是爲我的應用程序,所以包括我自己的一些類名稱等。