我正在使用PyQt5,并且我使用QTreeView
获得QSortFilterProxyModel
来获取其数据。在表上启用了排序,实际上如果我单击第一列的标题,它会在该列上正确排序。但是,如果我点击任何其他标题,似乎代理模型以某种方式决定不排序。
相反,我看到(在调试器中)在我的代理模型上调用了sort()
,并且使用正确的列和顺序调用它。但是,在此之后似乎没有调用任何排序机制:lessThan()
未被调用,data()
未在我的项目上调用,等等。事实上,该表似乎恢复到原来的状态,未排序的顺序(即在第一列排序之前的状态)。
据我所知,我的模型定义正确,实际上它在应用程序的其余部分中运行良好。我觉得我必须在这里丢失一些愚蠢的东西,但我对它无论如何都是盲目的。有什么想法吗?