首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >QT应用编程: QTableWidget删除选中的多行与全选、取消全选

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

作者头像
DS小龙哥
发布2022-01-07 14:09:31
发布2022-01-07 14:09:31
6.2K0
举报
代码语言:javascript
复制
/**
 * @brief Widget::on_toolButton_del_TableWidget_clicked
 * 删除选中的表格
 */
void Widget::on_toolButton_del_TableWidget_clicked()
{
     /*获取选中的列表里的所有条目*/
    QList<QTableWidgetItem*> list=ui->tableWidget_Measure->selectedItems();
    if(list.count()<=0)
    {
        QMessageBox::warning(this, tr("删除作业要素列表"),
        tr("请选择需要删除的列表."),
        QMessageBox::Ok);
        return;
    }

    /*从列表中依次移除条目*/
    for(int i=0;i<list.count();i++)
    {
        /*获取条目的行号*/
        int row=ui->tableWidget_Measure->row(list.at(i));
        qDebug()<<"即将卸载的行号:"<<row;
        delete list.at(i); //彻底删除条目

        //因为上面的循环是以条目数量为准,所以卸载行号只需要卸载一行即可
        if(row!=-1)
        {
            ui->tableWidget_Measure->removeRow(row);
        }
    }
}


/**
 * @brief Widget::on_toolButton_select_all_clicked
 * @param checked
 * 全选和取消全选
 */
void Widget::on_toolButton_select_all_clicked(bool checked)
{
   if(checked)
   {
       //将所有行高亮选中
       ui->tableWidget_Measure->selectAll();
   }
   else
   {
       /*
        取消选择所有选定项目。当前索引不会更改。
        另请参见setSelection()和selectAll()。
        */
       ui->tableWidget_Measure->clearSelection();
   }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档