【问题标题】:QSortFilterProxyModel.mapToSource crashes. No info whyQSortFilterProxyModel.mapToSource 崩溃。没有信息为什么
【发布时间】:2010-10-14 20:30:42
【问题描述】:

我有以下代码:

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

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

【问题讨论】:

    标签: python qt qt4 pyqt pyqt4


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-08-02
        • 1970-01-01
        • 1970-01-01
        • 2017-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-19
        • 2018-03-24
        相关资源
        最近更新 更多