如何创建自定义UI的QT插件?

时间:2010-12-03 02:33:49

标签: css qt user-interface plugins

我们希望用户能够选择性地定制我们的QT应用程序。因此,如果他们想为我们的应用程序创建自己的主题,他们所要做的就是加载自己的CSS文件。

我们真的需要创建一个能够做到这一点的插件吗?如果是的话,有人可以给我基本的步骤/或者如何做到这一步的快速启动?如果不是,QT中是否有我需要知道的功能,而无需创建插件?

1 个答案:

答案 0 :(得分: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。请注意,这是我的应用程序,所以包括我自己的一些类名等。