我需要创建一个更改Qwidget背景的菜单。我想将代表选定颜色的QICON放入填充Qmenu的Qactions中。我想不必弹出Photoshop并手动绘制图标。是否可以对充满一定颜色的简单图标进行编程?这样,如果需要,我可以使用任意数量的Qactions,并且不必在Photoshop中制作整个图标。
您可以从qpixmap构造QICON。qpixMap可以用给定的尺寸构造,然后使用"填充"填充颜色。
例如,创建一个红色100x100图标:
QPixmap pixmap(100,100);
pixmap.fill(QColor("red"));
QIcon redIcon(pixmap);
刚刚弄清楚如何将颜色从图标更改为任何其他颜色。因此,图像的图像必须由一种纯色组成(此处:'黑色'),可以使用pixmap及其掩盖能力转换为另一种颜色(例如'red'):
pixmap = QPixmap(filename)
mask = pixmap.createMaskFromColor(QColor('black'), Qt.MaskOutColor)
pixmap.fill((QColor('red')))
pixmap.setMask(mask)
btNew = QToolButton()
btNew.setIcon(QIcon(pixmap))