1

我有以下代码:

proxy_index = self.log_list.filter_proxy_model.createIndex(index, COL_REV)
model_index = self.log_list.filter_proxy_model.mapToSource(proxy_index)
revno = self.log_list.model.data(model_index,QtCore.Qt.DisplayRole)
self.setEditText(revno.toString())

代码在第二行崩溃了。没有引发异常。没有回溯。没有警告。我该如何解决?

4

2 回答 2

2

可能是您错误地使用了代理模型的 createIndex() 方法。通常,createIndex() 方法作为模型的 index() 方法实现的一部分被调用。

您是否尝试过调用代理模型的 index() 方法来获取代理索引,然后将其映射到源?

也许您可以在上下文中显示代码或解释您正在尝试做什么。

于 2009-03-23T00:22:32.737 回答
0

我遇到了同样的问题,但幸运的是使用 index () 方法而不是 David 推荐的 createIndex () 方法可以做到这一点。一般来说,在 index() 方法之外乱用 QModelIndex 的内部指针是个坏主意。即使使用您自己的模型弄乱内部指针也经常导致意外的行为,因为 Qts View 代码对用户来说非常模糊。

于 2009-08-26T04:05:42.153 回答