Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
173 views
Welcome To Ask or Share your Answers For Others

1 Answer

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()

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...