【发布时间】:2014-12-03 13:04:46
【问题描述】:
我对 Qt 样式表的管理有疑问。
我有一个可以动态更改其颜色主题的大型 Qt 应用程序。为此,我创建了几个样式表(一个按主题 - 它们非常大)。当用户想要更改颜色主题时,他单击一个按钮,该按钮调用MainWindow 的QWidget 方法setStylesheet(QString)。这确实有效,但我的 GUI 在此过程中冻结了 8-10 秒。
为了减少延迟,我尝试使用unpolish(QApplication * application) 和QStyle::polish(QApplication * application)。性能相当令人印象深刻(不到一秒),但几个 Widget 属性没有更新,例如QToolButton 的图标属性。此外,我所有的自定义小部件都不会更新,即使它们继承自常见的小部件类(QFrame、Qwidget、QStackedWidget 等)。
我错过了polish 方法吗?还有其他方法可以更好地更新我的应用程序的样式吗?
【问题讨论】:
标签: css qt stylesheet