我在QTableView中使用QSortFilerProxyModel,并按以下方式初始化它:
self.proxy = QtGui.QSortFilterProxyModel()
self.proxy.setSourceModel(self.model)
self.proxy.setDynamicSortFilter(True)
我的QTableView使用一个模型,带有一些字段,如journal、title和new。当我单击一行时,如果“new”为True,我修改模型,并将new设置为False。你知道吗
我的问题是,当我用字段“journal”对行进行排序时。有些行有相同的日记账,如果我单击一个“新”行(这会触发模型更改),代理将以不同的方式对行排序,而我没有要求它。你知道吗
只有在修改模型时才会出现这种行为。因此,我需要一种方法来避免在模型更新之后更新QSortFilterProxyModel。我的模型是QSqlTableModel。你知道吗
有可能吗?你知道吗
编辑:实际上,我的代理在每次模型更新后都会进行排序,每次它比较具有相同值的单元格时,都会得到不同的排序顺序。这不是预期的行为。你知道吗
我终于自己找到了答案。你知道吗
实际上,通过单击标题对行进行排序会破坏代理。所以我给代理下了子类:
现在它工作得很好。你知道吗
相关问题 更多 >
编程相关推荐