Python 3.x 正在尝试创建QColor枚举

Python 3.x 正在尝试创建QColor枚举,python-3.x,pyqt,pyqt5,Python 3.x,Pyqt,Pyqt5,我有一个tablewidget,我想根据单元格中的整数值为某些单元格着色。为此,我想用QColors创建一个枚举 from enum import Enum from PyQt5.QtCore import * class Color(Enum): Qt.white = 0 Qt.black = 1 Qt.red = 2 Qt.blue = 3 Qt.yellow = 4 Qt.green = 5 例如,当我写color.1时,单元格应该变成黑

我有一个tablewidget,我想根据单元格中的整数值为某些单元格着色。为此,我想用QColors创建一个枚举

from enum import Enum
from PyQt5.QtCore import *

class Color(Enum):
    Qt.white = 0
    Qt.black = 1
    Qt.red = 2
    Qt.blue = 3
    Qt.yellow = 4
    Qt.green = 5
例如,当我写color.1时,单元格应该变成黑色。该值将从信元中读取,但atm I无法使该枚举工作。当我这样做时:

item.setBackground(Qt.black)
它以我想要的方式工作,所以问题出在这个颜色枚举中


有人知道如何让它工作吗?

你应该使用字典而不是枚举

colors = {
    0: Qt.white,
    1: Qt.black,
    2: Qt.red,
    # ...
}
如果您的物品包含数字:

item.setBackground(colors[int(item.text())])

希望有帮助

谢谢,这很有效。当dict对我有效时,不再尝试枚举:)