在Python中,我可以使Enum类成为视图类的模型吗?

时间:2019-01-04 18:42:56

标签: python model-view-controller enums multiple-inheritance qabstractlistmodel

我正在尝试创建一个Enum类,我具有一个PyQt视图小部件的模型,但是似乎存在某种冲突。

使用PyQt5和Python 3.6,

class Fruits(Enum, QAbstractListModel):
    APPLE= auto()
    PEAR = auto()
    ORANGE = auto()
    BLACKBERRY= auto()

    def __init__(self, parent=None, *args):
        QAbstractListModel.__init__(self, parent, *args)

    def rowCount(self, parent=QModelIndex()):
        return len(Fruits)

    def data(self, index, role):
        if index.isValid() and role == Qt.DisplayRole:
            return QVariant(Fruits(index.row()))
        else:
            return QVariant()

我收到以下错误-TypeError:元类冲突:派生类的元类必须是其所有基元元类的(非严格)子类。

我在做什么错?我可以在Python中建立枚举模型吗?最好的方法是什么?

0 个答案:

没有答案