c++ - Qt 如何从外部 Qt 样式表文件应用样式?

标签 c++ css qt user-interface

我希望用户能够通过简单地加载他们的 OWN Qt 样式表文件来自定义我们应用程序的默认外观。我们如何做到这一点?谁能给我一个先机?

最佳答案

假设用户有一个名为 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这可能会有所帮助。

关于c++ - Qt 如何从外部 Qt 样式表文件应用样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4448236/

相关文章:

html - Div inside overflow ="auto"自动根据内容调整宽度

html - 为什么内部 div 容器会溢出?

mysql - 如何在 Qt 中设置嵌入式 MySQL 服务器

c++ - 更改Qt库的路径

c++ - 是否可以将自定义小部件添加到 QListView 中?

c++ - DirectX 中的 Alpha 蒙版

c++ - char concat to string 返回错误的长度

c++ - 使用 C++ 异常的内存泄漏

css - 如何修复折叠时相邻 TD 边界的渲染不一致?

c# - RegAsm.exe 和 regsvr32 有什么区别?如何使用 regsvr32 生成 tlb 文件?