2011-11-10 61 views
0

我知道這是可能的,但我不能爲我的生活獲得正確的代碼來工作。我想要的是非常簡單的:一個單色的矩形,大小,比如20x20(通過QPainter)構建(推測)。從那我希望使用繪製的矩形作爲QIcon在QComboBox中使用。有任何想法嗎?提前致謝。在PyQT中通過QPainter構建QIcon

回答

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_()) 
+0

完美!謝謝你,先生。 – Cryptite