在PyQT中通过QPainter构造QIcon

时间:2011-11-10 22:53:51

标签: python icons pyqt pyqt4

我知道这是可能的,但我不能为我的生活得到正确的代码来工作。我想要的是非常简单:单色矩形,大小,比如通过QPainter构建(推测)20x20。从那里我希望使用绘制的矩形作为QIcon用于QComboBox。有任何想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

您似乎只需要QPixmap.fill

from PyQt4 import QtGui

class Window(QtGui.QComboBox):
    def __init__(self):
        QtGui.QComboBox.__init__(self)
        self.resize(200, 25)
        pixmap = QtGui.QPixmap(20, 20)
        for color in 'red orange yellow green blue grey violet'.split():
            pixmap.fill(QtGui.QColor(color))
            self.addItem(QtGui.QIcon(pixmap), color.title())

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    win = Window()
    win.show()
    sys.exit(app.exec_())