假设我的数据如下所示:
Record:
type - string #formatted ISO date/time string
ctime - string #actually just a unix timestamp
source - string
data- string
服务于列表视图,模型的数据方法如下所示:
def data(self, index, role):
record = self.contents[index.row()]
if role == QtCore.Qt.DisplayRole:
return "%s: %s - %s" % ( record['source'], record['data'], record['time'], )
至于树视图,实际的主体将呈现相同的内容,但树节点的第一行将以 Record.type 为中心。查看 def 数据的签名,我假设我可能只是从角色中枢转,还是需要在抽象上再退一步,让核心模型管理数据,然后代理到列表和树模型?
再退一步,是否有关于 QT ( pySide ) 数据层如何工作的良好/简洁的文档来源?这可能是另一个问题,但它也可能导致这个问题的答案,所以我把它放在这里。