qtablewidget的setSortingEnabled()函数有问题(qt5.9.6版本)

想要使用qtablewidget的表头点击排序功能。当使用了qtablewidget的setSortingEnabled()函数时,

如ui->tableWidget->setSortingEnabled(true);

点击表头确实是能排序(qt5.9.6版本),但是如果在点击了表头排序后,再调用清空表格内容的函数,

如:ui->tableWidget->clearContents();

表格就会出现部分内容被清空,部分内容没被清空!并且重复调用clearContents()函数也无法再将未清空内容清除!

以上问题未能解决。以下不使用setSortingEnabled(),给出代替方法,点击表格头可以对表格进行排序,并且再调clearContents()也不会出现只清除部分,不清除全部情况。

ui->tableWidget->setSortingEnabled(false); //设置为false,或者直接不调用setSortingEnabled
ui->tableWidget->horizontalHeader()->setSortIndicatorShown(true);
ui->tableWidget->horizontalHeader()->setSortIndicator(0,Qt::DescendingOrder);
connect(ui->tableWidget->horizontalHeader(),SIGNAL(sectionClicked(int)),ui->tableWidget,SLOT(sortByColumn(int)));

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章