当我将
QToolButton
的图像设置为样式表中的资源文件时,它失败 - 运行后没有显示图标图像:
QToolButton#example[state="checked"]
{
image: url(:/images/checked.png);
}
但是,如果我修改一些样式表,如下所示(其余部分相同):
QToolButton#example[state="checked"]
{
qproperty-icon: url(:/images/checked.png);
}
成功了。
不支持
image
属性吗?这是官方网站上的示例案例。还是我只是误用了它?
TL;DR:支持
image
,它只是不适用于 QToolButton,因为后者是用于处理图标的。
来自QToolButton的文档(我的重点):
工具按钮是一种特殊按钮,可提供对特定命令或选项的快速访问。与普通命令按钮不同,工具按钮通常不显示文本标签,而是 显示图标。
...
工具按钮的图标设置为QIcon。
...
按钮的外观和 尺寸可使用 setToolButtonStyle() 和 setIconSize() 进行调整。
QToolButton 应该有一个图标,而不是像 QPushButton 那样有背景图像。您可以看到它有多少种自定义图标的方法,以及它的大小是如何基于此的。
此外,它的所有样式都允许它具有图标、文本或两者兼而有之。
所以尝试使用:
image: url(:/images/checked.png);
因为它的样式表不起作用。
我只能猜测问题是由
image
属性隐式设置按钮的大小引起的,因为如果您使用 background-image
,它将起作用,但前提是您将 height
和 width
设置为使用的图像的尺寸。
因此,如果您想使用
image
,请在 QPushButton 上使用它。或者,使用 qproperty-icon
,因为您已经弄清楚了。