“图像”样式表属性在 QToolButton 上应用时不显示图像

问题描述 投票:0回答:1

当我将

QToolButton
的图像设置为样式表中的资源文件时,它失败 - 运行后没有显示图标图像:

QToolButton#example[state="checked"]
{
  image: url(:/images/checked.png);
}

但是,如果我修改一些样式表,如下所示(其余部分相同):

QToolButton#example[state="checked"]
{
  qproperty-icon: url(:/images/checked.png);
}

成功了。

不支持

image
属性吗?这是官方网站上的示例案例。还是我只是误用了它?

image qt icons qtstylesheets qtoolbutton
1个回答
0
投票

TL;DR:支持

image
,它只是不适用于 QToolButton,因为后者是用于处理图标的。


来自QToolButton的文档(我的重点):

工具按钮是一种特殊按钮,可提供对特定命令或选项的快速访问。与普通命令按钮不同,工具按钮通常不显示文本标签,而是 显示图标
...
工具按钮的图标设置为QIcon
...
按钮的外观和 尺寸可使用 setToolButtonStyle() 和 setIconSize() 进行调整。

QToolButton 应该有一个图标,而不是像 QPushButton 那样有背景图像。您可以看到它有多少种自定义图标的方法,以及它的大小是如何基于此的。

此外,它的所有样式都允许它具有图标、文本或两者兼而有之。

所以尝试使用:

image: url(:/images/checked.png);

因为它的样式表不起作用。

我只能猜测问题是由

image
属性隐式设置按钮的大小引起的,因为如果您使用
background-image
,它将起作用,但前提是您将
height
width
设置为使用的图像的尺寸。

因此,如果您想使用

image
,请在 QPushButton 上使用它。或者,使用
qproperty-icon
,因为您已经弄清楚了。

© www.soinside.com 2019 - 2024. All rights reserved.