如何获取QMacStyle的整个Qt StyleSheet

时间:2015-03-03 20:55:26

标签: qt qt5 qstylesheet

是否有可能获得QMacStyle的整个Qt5 StyleSheet的文本文件(或其在Qt5中显然使用的等效QProxyStyle)?

我希望获得所有属性的列表:值对('background-color','border-radius','margin-top','padding'等)及其默认设置,用于每个常见小部件(QPushButton,QTabBar等)。

Mac OSX上的Qt5看起来很棒,因为所有看起来很像的小部件(参见例如Macintosh Style Widget Gallery)。我想在我的应用程序中执行一些样式属性的外科替换,但另外保留原生外观。 (对此问题的替代看法,或至少在同一个目标上,在我的相关问题How to override just one property:value pair in Qt StyleSheet中有所体现。)

如果我知道整个Qt StyleSheet对应于QTabBar或QPushButton,我可以在我自己的widget->setStyleSheet()调用中重建本机外观,并添加一些必要的调整。

我搜索了整个Qt5.4.0目录,希望找到一个代表OSX风格的*.qss文件,但无济于事(我找到了有希望命名的examples/widgets/widgets/stylesheet/qss/default.qss,但是里面的所有内容都是{ {1}})。我已经用尽了我在Qt5完整源代码目录上运行//* empty stylesheet *//的想法,包括在grep中,这可能确实包含详细信息,但不是非常易于理解的形式)。

谢谢 -

1 个答案:

答案 0 :(得分:1)

QMacStyle是一个QStyle子类,使用Apple的HITheme进行绘制(查找文件qmacstyle_mac*以查看实现),因此没有样式表可供使用