以编程方式确定 Qt 样式表选项?

发布于 2024-10-07 07:31:08 字数 277 浏览 2 评论 0原文

是否可以在 Qt 运行时查找样式表值?

我正在开发一个从 QPushButton 派生的自定义按钮,它设置了一些样式表属性。我希望能够查找一些样式表设置,例如边框宽度,marginpadding-toppadding-leftpadding-right 等。如果不调用 widget->getStyleSheet() 并自己解析这些值,是否可以做到这一点?

Is it possible to look up stylesheet values at runtime in Qt?

I'm working on a custom button derived from QPushButton that has some stylesheet properties set. I'd like to be able to look up some stylesheet settings like border width, margin, padding-top, padding-left, padding-right, etc. Is this at all possible to do without calling widget->getStyleSheet() and parsing out the values myself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

滿滿的愛 2024-10-14 07:31:08

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

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

Internally, when you call QApplication::setStyleSheet() Qt creates a QStyle sub-class called QStyleSheetStyle.

That means you can query style sheet information via the normal QStyle methods. Just remember to fill in the options and widget parameters properly to ensure you get the right values from the style sheet.

嗫嚅 2024-10-14 07:31:08

别这么想,你也许可以通过单步执行绘图代码找到一些东西。但是样式表的解析和应用已经相当优化,并且使用了大量的预处理。我什至不认为如果小部件实际上是在父级中设置的,您就无法访问该小部件的样式表。

Don't think so, you might be able to find something by stepping through the drawing code. But the parsing and the application of stylesheets is pretty optimised and uses a lot of preprocessing. I don't even think that you can get to the stylesheet of a widget if it was actually set in a parent.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文