QTableView:对某些标题列禁用排序

2024-09-25 10:28:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是PyQT4,有一个包含两列的QTableView:

...
self.model = MyTableModel()

self.proxy = QtGui.QSortFilterProxyModel()
self.proxy.setSourceModel(self.model)
self.proxy.setFilterKeyColumn(0)

self.tableView = QtGui.QTableView()
self.tableView.setModel(self.proxy)

self.selectionModel = QtGui.QItemSelectionModel(self.model)
self.tableView.setSelectionModel(self.selectionModel)

self.tableView.horizontalHeader().setStretchLastSection(True)
self.tableView.setSortingEnabled(True)
self.tableView.sortByColumn(0, QtCore.Qt.AscendingOrder)
...

我只希望第一列(#0)可以通过单击其标题进行排序。第二列(#1)的标题应该忽略任何单击。我才发现,可以启用或禁用整个标题行进行单击/排序。在

有人能帮助我如何禁用某些特定标题列的事件处理程序吗?在


Tags: selftrue标题model排序proxypyqt4qtgui