1. 目的
修改QToolButton的图标颜色,单一颜色,效果类似于Qt Creator左边选项卡。
2. 代码
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);
icon.addPixmap(pixmap);
return icon;
}
3. 使用
//设置图片,这一步也可以直接在Qt designer中设置
ui->toolButton->setIcon(QIcon(":/pic/set.png"));
//读取图标,修改颜色,重新设置图标
ui->toolButton->setIcon(setIconColor(ui->toolButton->icon(), QColor("red")));
参考
Qt简单代码修改图标图片颜色