我有以下代码:

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())

代码坠毁在第二行。没有引发的异常。无回溯。没有任何警告。我该如何解决这个问题?

有帮助吗?

解决方案

这可能是因为您使用代理模型的的createIndex()方法不正确。通常,上的createIndex()方法被调用作为模型的索引的一部分()方法执行。

你有没有打过电话代理模型的指数()方法来获得一个代理指标则是映射到源?

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

其他提示

我)遇到了同样的问题,但幸运的是使用索引()方法,而不是上的createIndex(大卫建议做的魔法。 总的来说这是一个坏主意,更动QModelIndex指数()方法之外的内部指针。即使在使用自QTS查看代码是非常晦涩用户自己的模型内部指针乱搞往往导致意想不到的bahavior。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top