我希望用户只需加载 OWN Qt样式表文件即可自定义应用程序的默认外观。我们如何实现这一目标?谁能给我一个良好的开端?
答案 0 :(得分:35)
假设用户的样式表名为stylesheet.qss
,并且位于应用程序文件夹中。
您可以在启动应用程序时使用-stylesheet参数加载样式表:
myapp->stylesheet = stylesheet.qss;
但这需要您的用户知道如何使用参数启动应用程序。
您还可以在应用中添加设置对话框,用户可以在其中选择样式表路径。
然后,您可以打开此文件,加载内容,然后使用QApplication::setStyleSheet()将其设置为您的应用程序:
QFile File("stylesheet.qss");
File.open(QFile::ReadOnly);
QString StyleSheet = QLatin1String(File.readAll());
qApp->setStyleSheet(StyleSheet);
Qt正在提供可能有帮助的example online。
答案 1 :(得分:3)
您只需根据客户提供的配置为整个应用程序设置样式表。
http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop
您可以从任意数量的位置设置/获取此配置,应用程序中的属性对话框可能是最自然的方法。