#python #icons #pyqt #pyqt4
#python #Значки #pyqt #pyqt4
Вопрос:
Я знаю, что это возможно, но я ни за что на свете не смогу заставить правильный код работать. То, что я хочу, очень просто: монохроматический прямоугольник размером, скажем, 20×20, построенный (предположительно) с помощью QPainter. Исходя из этого, я хочу использовать нарисованный прямоугольник в качестве QIcon для использования в QComboBox. Есть идеи? Заранее спасибо.
Ответ №1:
Похоже, вам просто нужно 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_())