更改 QT 复选框指示器的外观

Changing the appearance of a QT checkbox indicator

我需要更改 QCHeckBox 的可检查框的外观,不仅仅是使用 CSS,而是使用纹理文件。我发现最接近的是更改小部件的 icon 参数。

但是 a) it doesn't update,和 b) 它位于框 之后 ,我实际上正在尝试更改它。 是否可以更改复选框本身?

令人困惑的是,这些图标属性与 QAbstractButton 父级 class 相关联,后者没有复选框图标的概念。所以他们只是在按钮的标签上添加了一个图标,这导致了您描述的行为。

要更改实际的复选框图标,我发现的最佳选择是使用样式表。所有血腥细节都是 here.

总而言之,QCheckBox 的样式表会像这样:

QCheckBox::indicator:unchecked {
    image: url(:/images/checkbox_unchecked.png);
}

QCheckBox::indicator:checked {
    image: url(:/images/checkbox_checked.png);