更改禁用的 QIcon 色调颜色

Change disabled QIcon tint color

我有一个带有自定义主题的应用程序,禁用的图标呈亮灰色。我想更改禁用的图标色调颜色。

现在我知道有这样一种可能:

QTableWidgetItem *name = new QTableWidgetItem("test");
QIcon icon("toto.png");
icon.addPixmap(QPixmap("toto.png"),QIcon::Disabled);
name->setIcon(icon);

但我有很多图标,我不想为禁用状态创建另一组图标。

是否可以将 QIcon 的色调从浅灰色更改为红色或黑色或任何其他颜色?

您可以定义自己的 QProxyStyle and override the generatedIconPixmap 方法。

此方法负责为不同的图标状态生成派生的像素图