我们可以使用QTableWidget对多列进行排序吗?或者我必须从QTableView继承子类?

时间:2014-06-11 06:09:24

标签: qt pyqt qtableview qtablewidget

我正在开发自定义QTableWidget小部件。一切都进展顺利。直到我进入多列排序。我们可以在QTableWidget中执行此操作吗?或者我必须从QTableView继承并且必须重写我的自定义小部件吗?

我正在查看this code actually,但看到(并测试)了这行代码:

 for (int i=sortOrder.size() - 1; i>=0; --i) {
            sortItems(sortOrder.at(i).column, sortOrder.at(i).ascending ? Qt::AscendingOrder : Qt::DescendingOrder);

我意识到它不起作用。使用sortItems排序并在其他列中重新运行后,您得到的是对最后一列的排序。

有什么建议吗? 我希望顺便使用QTableWidget;)

1 个答案:

答案 0 :(得分:0)

您不需要对QTableWidget进行子类化以使其可排序。要启用排序,您必须使用QTableView::setSortingEnabled()函数打开内置排序功能。例如:

tableWidget->setSortingEnabled(true);