在深入研究 TreeView/Model 概念的同时,这是我到目前为止“理解”的内容......
首先,我继承了MyTreeView () 类,通过将QTreeView内置分配给MyOwnAbstractItemModel ()模型来扩展它(下一步中的子类化):
class myTreeView(QTreeView):
def __init__(self, parent=None):
super(myTreeView, self).__init__(parent)
self.myOwnAbstractModel = MyOwnAbstractItemModel()
self.setModel(self.myOwnAbstractModel)
我继续继承/描述MyOwnAbstractItemModel ()。它使用内置的 QAbstractItemModel() 类作为“模板”开始...
class MyOwnAbstractItemModel(QAbstractItemModel):
def __init__(self, parent=None):
super(MyOwnAbstractItemModel, self).__init__(parent)
据我了解,必须声明一些MyOwnAbstractItemModel()方法才能使 MODEL 工作。我想知道在哪里可以获得这些方法()名称及其语法描述的完整列表?
我查看了在线发布的代码示例。看起来那些预定义的方法已经预定义了特定的语法......例如传入参数的数量以及预期的参数类型......例如,下面的方法没有得到任何传入参数(不清楚是什么它的目的):
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)
接受四个参数。请指教!提前谢谢了。