В Python я могу сделать класс Enum моделью для класса представления? - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь создать класс 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: конфликт метаклассов: метакласс производного класса должен быть (нестрогим) подклассом метаклассов всех его баз.

Что я делаю не так? Могу ли я сделать Enum моделью в Python? Каков наилучший подход здесь?

...