Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
181 views
in Technique[技术] by (71.8m points)

pyqt - Unable to inherit from QAbstractItemModel

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

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

1 Reply

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...