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)));

 

 

 

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