且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-06-06 02:33:09

/**
 * @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();
   }
}

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