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

 

 

 

发布了48 篇原创文章 · 获赞 38 · 访问量 24万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览