gpt4 book ai didi

PyQt:QTreeView 和 QAbstractItemModel 的人类语言

转载 作者:行者123 更新时间:2023-12-01 14:18:06 25 4
gpt4 key购买 nike

虽然深入研究了 TreeView/Model 概念,但到目前为止我“理解”的是......

首先,我对 MyTreeView() 类进行子类化,在其中我通过将 MyOwnAbstractItemModel() 分配给 model 来扩展 QTreeView 内置(在下一步中进行子类化):

class myTreeView(QTreeView):
def __init__(self, parent=None):
super(myTreeView, self).__init__(parent)
self.myOwnAbstractModel = MyOwnAbstractItemModel()
self.setModel(self.myOwnAbstractModel)

我继续子类化/描述 MyOwnAbstractItemModel()。它使用内置的 QAbstractItemModel() 类作为"template"开始......

class MyOwnAbstractItemModel(QAbstractItemModel):      
def __init__(self, parent=None):
super(MyOwnAbstractItemModel, self).__init__(parent)

据我所知,有一些 MyOwnAbstractItemModel() 方法必须声明,MODEL 才能工作。我想知道从哪里可以获得这些 method() 名称及其语法描述的完整列表?

我查看了在线发布的代码示例。看起来那些预定义的方法已经预定义了特定的语法......例如传入参数的数量和预期的参数类型......例如下面的方法没有获得任何传入参数(不清楚是什么它的目的):

def mimeTypes(self):
#print '\n mimeTypes(self)'
types = QStringList()
types.append('application/x-ets-qt4-instance')
return types

但是这个方法:

def dropMimeData(self, mimedata, action, row, column, parentIndex):
parentNode = self.nodeFromIndex(parentIndex)

接受四个参数。请指教!非常感谢。

最佳答案

如果您下载source code for PyQt ,您将在 contrib/pymodeltest 目录中找到一个模型测试模块。该模块提供了一种方法来检查在自定义模型实现中发现的常见错误。您可能会发现浏览此模块中的代码很有用,因为它有很多有用的注释,解释了它执行的许多测试的目的。

此外,您应该通读 Model/View Programming overview在 Qt 文档中 - 特别是 Model Subclassing reference .

关于PyQt:QTreeView 和 QAbstractItemModel 的人类语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com