【问题标题】:How to change QPushButton icon using stylesheets in Qt app如何在 Qt 应用程序中使用样式表更改 QPushButton 图标
【发布时间】:2010-04-20 14:28:35
【问题描述】:

是否可以使用样式表设置和更改 QPushButton 上的图标?

我需要这个基于 Windows 的白标 Qt4.5 应用程序,客户使用样式表进行样式化。

谢谢。

【问题讨论】:

    标签: c++ qt stylesheet


    【解决方案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】:

    【讨论】:

    • 不,这会在按钮中心添加一个新图标。
    猜你喜欢
    • 2016-09-21
    • 2013-06-25
    • 2014-01-01
    • 1970-01-01
    • 2014-12-12
    • 2012-01-02
    • 2014-11-28
    • 1970-01-01
    • 2016-09-12
    相关资源
    最近更新 更多