我可以运行具有特定主题的Qt应用程序吗?我希望应用程序使用与当前操作系统主题不同的操作系统主题。
答案 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
内容......