qt polish 不生效 用setStylesheet 可以
时间: 2024-03-06 21:50:14 浏览: 59
Qt stylesheet
5星 · 资源好评率100%
如果您的 Qt 应用程序中使用了样式表,但是 Polish 未能生效,可能是因为 未能正确加载样式表。
一种可能的解决方案是手动加载样式表,使用 `setStyleSheet` 函数来设置样式表,而不是使用 Polish。
例如,您可以在 `main` 函数中手动加载样式表,如下所示:
```cpp
#include <QApplication>
#include <QFile>
#include <QStyleFactory>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 手动加载样式表
QFile styleFile(":/qdarkstyle/style.qss");
if (styleFile.open(QIODevice::ReadOnly)) {
QString styleSheet = QString::fromUtf8(styleFile.readAll());
a.setStyleSheet(styleSheet);
styleFile.close();
}
// 使用默认样式工厂创建应用程序的样式
QStyle *style = QStyleFactory::create("Fusion");
a.setStyle(style);
// 启动应用程序
return a.exec();
}
```
请注意,此代码示例假定您的 Qt 应用程序使用 `qdarkstyle` 样式表。如果您使用的是其他样式表,请相应地更改文件路径和样式表名称。
阅读全文