Unable to inherit from QAbstractItemModel

2019-09-19 12:20发布

问题:

I'm new to model/view in PyQt and I'm having trouble creating an object that inherits from the QAbstractItemModel class. Here's the class that inherits from it:

class MyCustomDataModel(QAbstractItemModel):

    def __init(self, parent = None):
        super(MyCustomDataModel, self).__init__(parent)

        self.parent = parent

Here's another class that tries to instantiate an object of the above type:

class MyCustomType(AnotherCustomTypeThatInheritsQListWidgetItem):

    def __init__(self, parent = None):
        super(MyCustomType, self).__init__(parent)

        # Instantiate a model:
        self.dataModel = MyCustomDataModel(self)

The above instantiation is throwing the following error at runtime: "QAbstractItemModel(QObject parent = None): argument 1 has unexpected type 'MyCustomType'" I cannot see what the problem is here, but I'm pretty new to Python / PyQt. Can someone please point out what I've done wrong? I've tried calling the instantiation line and not passing anything in but I get the same error.

回答1:

This might be more appropriate as a comment instead of an answer.

Try updating the line where you pass the MyCustomType instance to MyCustomDataModel:

self.dataModel = MyCustomDataModel(self)

Instead use:

self.dataModel = MyCustomDataModel()


标签: pyqt pyqt4