Python QCOMBOX项目中的颜色代替QICON

Python QCOMBOX项目中的颜色代替QICON,python,python-3.x,python-2.7,pyqt,qcombobox,Python,Python 3.x,Python 2.7,Pyqt,Qcombobox,我正在使用pyqt,希望在组合框的每个项目中显示不同的颜色 我们可以对图像执行此操作: combo.addItem(QIcon("path/to/image.png"), "Item 1") 但是如何处理颜色呢?解决方案是使用QColor作为基础创建一个图标,如下所示 import sys from PyQt5.QtWidgets import QApplication, QComboBox from PyQt5.QtGui import QColor, QIcon, QPixmap d

我正在使用pyqt,希望在组合框的每个项目中显示不同的颜色

我们可以对图像执行此操作:

combo.addItem(QIcon("path/to/image.png"), "Item 1")

但是如何处理颜色呢?

解决方案是使用QColor作为基础创建一个图标,如下所示

import sys

from PyQt5.QtWidgets import QApplication, QComboBox
from PyQt5.QtGui import QColor, QIcon, QPixmap


def get_icon_from_color(color):
    pixmap = QPixmap(100, 100)
    pixmap.fill(color)
    return QIcon(pixmap)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = QComboBox()
    for text, color in (("item1", QColor("red")), ("item2", QColor(0xff00ff)), ("item3", QColor(0, 255, 0))):
        w.addItem(get_icon_from_color(color), text)
    w.show()
    sys.exit(app.exec_())

解决方案是使用QColor作为基础创建一个图标,如下所示

import sys

from PyQt5.QtWidgets import QApplication, QComboBox
from PyQt5.QtGui import QColor, QIcon, QPixmap


def get_icon_from_color(color):
    pixmap = QPixmap(100, 100)
    pixmap.fill(color)
    return QIcon(pixmap)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = QComboBox()
    for text, color in (("item1", QColor("red")), ("item2", QColor(0xff00ff)), ("item3", QColor(0, 255, 0))):
        w.addItem(get_icon_from_color(color), text)
    w.show()
    sys.exit(app.exec_())

看到这里描述了如何改变字体颜色,我在问另外一件事。不过,感谢您的关注。这里有关于如何更改字体颜色的描述,我想问一件事。不过,谢谢你的关注