我正在创建QAbstractItemModel
的子类,以在QTreeView
中显示。
我的index()
和parent()
函数使用QAbstractItemModel
继承函数createIndex
创建QModelIndex
,并为它提供所需的row
、column
和data
。在这里,出于测试目的,数据是一个Python字符串。
class TestModel(QAbstractItemModel):
def __init__(self):
QAbstractItemModel.__init__(self)
def index(self, row, column, parent):
if parent.isValid():
return self.createIndex(row, column, "bar")
return self.createIndex(row, column, "foo")
def parent(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return self.createIndex(0, 0, "foo")
return QModelIndex()
def rowCount(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return 0
return 1
def columnCount(self, index):
return 1
def data(self, index, role):
if index.isValid():
return index.data().data() <--- CANNOT DO ANYTHING WITH IT
return "<None>"
在index()
、parent()
和data()
函数中,我需要找回数据。它以QVariant
的形式出现。如何从QVariant中获取Python对象?
目前没有回答
相关问题 更多 >
编程相关推荐