以编程方式确定 Qt 样式表选项?
Posted
技术标签:
【中文标题】以编程方式确定 Qt 样式表选项?【英文标题】:Determining Qt stylesheet options programmatically? 【发布时间】:2011-05-24 23:48:08 【问题描述】:是否可以在 Qt 运行时查找样式表值?
我正在开发一个从QPushButton
派生的自定义按钮,该按钮设置了一些样式表属性。我希望能够查找一些样式表设置,如边框宽度、margin
、padding-top
、padding-left
、padding-right
等。如果不调用 widget->getStyleSheet()
并解析出来,这是否可行自己的价值观?
【问题讨论】:
【参考方案1】:在内部,当您调用 QApplication::setStyleSheet() 时,Qt 会创建一个 QStyle 子类,称为 QStyleSheetStyle。
这意味着您可以通过普通的 QStyle 方法查询样式表信息。请记住正确填写选项和小部件参数,以确保您从样式表中获得正确的值。
【讨论】:
嗯,这是考古学的胜利,但是……你能举个例子吗?如何使用 QStyle 获取小部件 CSS 属性?【参考方案2】:不要这么想,你也许可以通过单步执行绘图代码找到一些东西。但是样式表的解析和应用是相当优化的并且使用了大量的预处理。我什至不认为如果它实际上是在父级中设置的,您可以访问小部件的样式表。
【讨论】:
以上是关于以编程方式确定 Qt 样式表选项?的主要内容,如果未能解决你的问题,请参考以下文章