QT应用编程: QTableWidget删除选中的多行与全选、取消全选

举报
DS小龙哥 发表于 2021/12/09 22:41:16 2021/12/09
【摘要】 /** * @brief Widget::on_toolButton_del_TableWidget_clicked * 删除选中的表格 */void Widget::on_toolButton_del_TableWidget_clicked(){ /*获取选中的列表里的所有条目*/ QList<QTableWidg...

  
  1. /**
  2. * @brief Widget::on_toolButton_del_TableWidget_clicked
  3. * 删除选中的表格
  4. */
  5. void Widget::on_toolButton_del_TableWidget_clicked()
  6. {
  7. /*获取选中的列表里的所有条目*/
  8. QList<QTableWidgetItem*> list=ui->tableWidget_Measure->selectedItems();
  9. if(list.count()<=0)
  10. {
  11. QMessageBox::warning(this, tr("删除作业要素列表"),
  12. tr("请选择需要删除的列表."),
  13. QMessageBox::Ok);
  14. return;
  15. }
  16. /*从列表中依次移除条目*/
  17. for(int i=0;i<list.count();i++)
  18. {
  19. /*获取条目的行号*/
  20. int row=ui->tableWidget_Measure->row(list.at(i));
  21. qDebug()<<"即将卸载的行号:"<<row;
  22. delete list.at(i); //彻底删除条目
  23. //因为上面的循环是以条目数量为准,所以卸载行号只需要卸载一行即可
  24. if(row!=-1)
  25. {
  26. ui->tableWidget_Measure->removeRow(row);
  27. }
  28. }
  29. }
  30. /**
  31. * @brief Widget::on_toolButton_select_all_clicked
  32. * @param checked
  33. * 全选和取消全选
  34. */
  35. void Widget::on_toolButton_select_all_clicked(bool checked)
  36. {
  37. if(checked)
  38. {
  39. //将所有行高亮选中
  40. ui->tableWidget_Measure->selectAll();
  41. }
  42. else
  43. {
  44. /*
  45. 取消选择所有选定项目。当前索引不会更改。
  46. 另请参见setSelection()和selectAll()。
  47. */
  48. ui->tableWidget_Measure->clearSelection();
  49. }
  50. }

 

文章来源: xiaolong.blog.csdn.net,作者:DS小龙哥,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaolong.blog.csdn.net/article/details/111055164

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。