如何在 Qt 应用程序中使用样式表更改 QPushButton 图标
Posted
技术标签:
【中文标题】如何在 Qt 应用程序中使用样式表更改 QPushButton 图标【英文标题】:How to change QPushButton icon using stylesheets in Qt app 【发布时间】:2010-04-20 14:28:35 【问题描述】:是否可以使用样式表设置和更改 QPushButton 上的图标?
我需要这个基于 Windows 的白标 Qt4.5 应用程序,客户使用样式表进行样式化。
谢谢。
【问题讨论】:
【参考方案1】:回复有点晚了,但万一其他人通过谷歌弹出这个;
您可以通过更改 QAbstractButton 属性来添加图标。只需使用:
QAbstractButton
qproperty-icon: theme_url("/button_action/add");
类型选择器 (QAbstractButton) 使您能够设置所选对象和所有其子类的样式。由于 QProcessButton 扩展了 QAbstractButton,这将起到作用。 (当然你也可以在这里使用QPushButton
类型选择器)。
有关如何使用选择器的更多信息,我发现this 很有帮助。
如果您想了解有关按钮属性的更多信息,请参阅 QT 文档here。
PS。如果要更改图标,单击按钮后,请使用
qproperty-icon: url(":/Icons/before_click.png") off,
url(":/Icons/after_click.png") on ;
【讨论】:
有人知道开/关语法记录在哪里吗?我以前从未见过这种情况。【参考方案2】:是的。
border-image: url(/url/to/image);
【讨论】:
感谢您的回复。这似乎将我的 QPushButton 的背景设置为图像而不是 QPushButton 的图标。任何想法我做错了什么?谢谢。 呵呵,我以为是设置图标,background-image:
设置背景。我不得不玩它,显然我的记忆力不像以前那样了。
看起来您必须设置图标大小、对齐方式和文本对齐方式的样式,以便正确布局。我现在没有时间搞砸它,但是我通过几个谷歌搜索读到的所有内容都说border-image:
是关于样式表的图标。
您可以使用border-image
更改按钮的外观,例如。 G。带有虚线边框或装饰品。它与图标无关。【参考方案3】:
你可以使用:
image: url(/url/to/image);
参见http://doc.qt.io/qt-5/stylesheet-reference.html#image-prop 和http://doc.qt.io/qt-5/stylesheet-customizing.html#box-model。
【讨论】:
不,这会在按钮中心添加一个新图标。以上是关于如何在 Qt 应用程序中使用样式表更改 QPushButton 图标的主要内容,如果未能解决你的问题,请参考以下文章