如何通过点击列标题对QTableWidget进行按列排序?

3

我正在为我的工作构建一个数据库。我希望能够以类似于在Excel中通过单击列标题对元素进行排序的方式对元素进行排序。我使用的是pandas库,所以我打算使用它进行排序,但我的主要问题是是否有一种方法可以在单击QTableWidget中的标题时运行代码?或者这不可能吗?

1个回答

12
您可以通过使用QtableView的属性来实现这一点:
table = QtWidgets.QTableWidget()
table.setSortingEnabled(True)

2
谢谢!不过,我尝试了那个选项,但当我点击表头时,并没有对表格进行排序。还有其他方法吗? - undefined
好的,通常它是正常工作的。你是否为你的表定义了自定义标题?你有一段代码吗? - undefined
@AlexLaur,我的桌子上没有什么特别的东西,而且它也不起作用(对我来说是C++)。 - undefined
@Jacques,我刚刚再次测试了一下,通过点击表头来对表格进行排序,它是有效的。我在Python 2.7上使用了一个旧版本的Pyside进行了测试。但是在Qt文档5.15中,这个属性是存在的:https://doc.qt.io/qt-5/qtableview.html#sortingEnabled-prop。现在我想知道是否我没有理解原始问题的意思。^^ - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接