我可以运行具有特定主题的Qt应用程序吗?

时间:2011-07-18 22:48:55

标签: qt

我可以运行具有特定主题的Qt应用程序吗?我希望应用程序使用与当前操作系统主题不同的操作系统主题。

2 个答案:

答案 0 :(得分:16)

是。在创建QApplication实例之前的main()中,您可以调用QApplication::setStyle("plastique")作为示例。其他一些样式字符串将是:“windows”,“motif”,“cde”,“plastique”和“cleanlooks”,取决于平台,“windowsxp”,“windowsvista”和“macintosh”。

调用此函数的其他重载版本也会起作用,例如QApplication::setStyle(new QWindowsXPStyle)

使用-style开关启动应用程序时,也可以在命令行中指定:

./myapplication -style motif

答案 1 :(得分:2)

QT doc说:

void QApplication::setDesktopSettingsAware ( bool on ) [static]
  

设置Qt是否应该使用系统的标准颜色,字体等。默认情况下,这是真的。必须在创建QApplication对象之前调用此函数,如下所示:

int main(int argc, char *argv[])
{
    QApplication::setDesktopSettingsAware(false);
    QApplication app(argc, argv);
    ...
    return app.exec();
}

所以它应该开箱即用。但我注意到,当我在QtSDK中运行我的应用程序时,系统配色方案“找不到”,我的意思是我的QApplication似乎没有设置意识。我部署其中一些在一个不错的ubuntu安装上,我得到了rigth主题。我不知道幕后是什么,但肯定是关于$QTDIR内容......