如何获取QMacStyle的整个Qt样式表

如何获取QMacStyle的整个Qt样式表,qt,qt5,qstylesheet,Qt,Qt5,Qstylesheet,是否有可能获取整个Qt5样式表的文本文件(或Qt5中明显使用的等效QProxyStyle) 我希望得到所有属性:值对('background-color'、'border-radius'、'margin-top'、'padding'等)的列表,以及它们的默认设置,它们用于每个常见的小部件(QPushButton、QTabBar等) Mac OSX上的Qt5看起来很棒,因为它有所有看起来像本机的小部件(参见示例)。我希望在我的应用程序中执行一些样式属性的外科手术替换,但在其他方面保持原有的外观和感

是否有可能获取整个Qt5样式表的文本文件(或Qt5中明显使用的等效QProxyStyle)

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

Mac OSX上的Qt5看起来很棒,因为它有所有看起来像本机的小部件(参见示例)。我希望在我的应用程序中执行一些样式属性的外科手术替换,但在其他方面保持原有的外观和感觉。(关于这个问题的另一种观点,或者至少是关于同一个最终目标的观点,在我的相关问题中有所体现。)

如果我知道QTabBar或QPushButton的整个Qt样式表等价物,我可以在自己调用
widget->setStyleSheet()
时重建本机外观,并添加一些必要的调整

我搜索了整个Qt5.4.0目录,希望找到一个表示OSX样式的
*.qss
文件,但没有找到任何结果(我找到了名字很有希望的
示例/widgets/widgets/stylesheet/qss/default.qss
,但里面只显示了
/*空样式表*/
)。我已经在完整的Qt5源目录上运行了
grep
,包括
qt-everywhere-enterprise-src-5.4.0/qtbase/src/widgets/style/
,其中可能确实包含了细节,但不是很容易理解的形式)


感谢--

QMacStyle
是一个
QStyle
子类,它使用苹果的
HITheme
进行绘图(查找文件
QMacStyle\u*
以查看实现),因此没有样式表可获取。

感谢@GPPK,这是一个正确的想法,但是,这似乎是某人在自己的项目中为Mac设计的样式,而不是与QMacStyle defaultsOK@Linville等效的样式,谢谢——在一系列互联网和手册页搜索之后的一个新手问题:我是否理解QStyle()和QStyleSheet()是两种完全不同的样式qwidget的方式,它们是相互排斥的,也就是说,你必须选择一种或另一种方法?当我看到这样的教程时,QStyle()和样式表似乎确实是相互排斥的:says
警告:定制QStyle子类目前不支持Qt样式表。我们计划在将来的某个版本中解决这个问题。
也许这一评论适用于这里,并在这里达成了坚实的理解。建议样式表是QStyle()之上的一层要从新手的角度理解@Linville的正确答案,必须理解QStyle()和样式表存在于不同的层。我最初的问题是在一个坏的前提下提出的。样式表是在QStyle()之上实现的。在
qtbase/src/widgets/kernel/qapplication.cpp
中,我们看到
qapplication::setStyleSheet()
创建了QStyleSheetStyle(QStyle的一个子类)的实例,并用它替换应用程序样式表。因此,调用setStyleSheet()将完全替换QMacStyle。必须选择完全在QStyleSheetStyle()中工作(通过setStyleSheet()),或完全在QMacStyle()中工作。