如何在程序中确定Qt样式表选项?

8
在Qt中是否可以在运行时查找样式表的值?
我正在开发一个自定义按钮,它是从QPushButton派生而来,并设置了一些样式表属性。我想能够查找一些样式表设置,如边框宽度、margin、padding-top、padding-left、padding-right等。这是否有可能在不调用widget->getStyleSheet()并自己分析值的情况下完成?
2个回答

5

当您调用QApplication :: setStyleSheet()时,Qt会内部创建一个名为QStyleSheetStyle的QStyle子类。

这意味着您可以通过常规的QStyle方法查询样式表信息。只需记住正确填写选项和小部件参数,以确保从样式表中获取正确的值。


1
这是一个古老的胜利,但是...你能给个例子吗?如何使用QStyle获取小部件的CSS属性? - Dariusz
如何在项代理的绘制方法中查询QSS属性? - ManuelSchneid3r

3

不要这样想,你可以通过逐步分析绘图代码来找到一些东西。但解析和应用样式表已经得到了很好的优化,并且使用了大量的预处理。我甚至认为,如果小部件的样式表实际上是在父级中设置的,你也无法访问它的样式表。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接