一、前言
通过qt的简单代码实现更改图标颜色,颜色的单一修改填充。
二、代码
实现代码:
/*
* QIcon icon 待修改的图标
* QColor color 需修改的颜色
* 返回修改后的QIcon
*/
QIcon mainwindow::setIconColor(QIcon icon, QColor color)
{
QPixmap pixmap = icon.pixmap(QSize(64,64));
QPainter painter(&pixmap);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(pixmap.rect(), color);
QIcon colorIcon = QIcon(pixmap);
return colorIcon;
}
使用示例:
//设置按钮图标
ui.toolButton->setIcon(QIcon(":/pic/set.png"));
//设置按钮修改颜色后的图标
ui.toolButton->setIcon(setIconColor(ui.toolButton->icon(), QColor(0, 176, 240)));
三、效果
修改颜色前:
修改颜色后: