20.Qt 表格控件tableWidget的使用(2)-单元格操作

目录

前言:

技能:

内容:

1. 界面

2.pushbutton的槽函数

参考:


前言:

学习记录那位博主表格使用,尤其是单元格的基本操作,他讲的很好,详细看参考链接!!

讲解时讲解了很多基本函数,非常实用

之前的内容可以看上一篇内容->20. Qt 表格控件tableWidget的使用(1)


技能:

对于tablewidget中单元行的更详细的操作,具体看参考链接,讲的很好很详细

内容:
 

1. 界面

一列按钮,两个label

首先在构造函数里面添加这两行代码,这样每次都只会选中一整行

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
         //使鼠标每次选取都是那一整行,或者多行
    ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
        //设置模式为只能选择单行
    ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
}
2.pushbutton的槽函数

具体槽函数的说明解释可以看参考链接,他讲的很好,很清楚,这里就不过多说明了

删除首行的

void MainWindow::on_pushButton_clicked()
{
    int ncount =ui->tableWidget->rowCount();
    if(ncount>0)
    {
        ui->tableWidget->removeRow(0);
    }
}

删除最后一行的

void MainWindow::on_pushButton_2_clicked()
{
    int ncount =ui->tableWidget->rowCount();
    if(ncount>0)
    {
        ui->tableWidget->removeRow(ncount-1);
    }
}

删除全部行的,也可以其他函数,可以看参考链接链接

void MainWindow::on_pushButton_3_clicked()
{
    int ncount =ui->tableWidget->rowCount();
    if(ncount>0)
    {
        ui->tableWidget->clearContents();
    }
}

选中下一行的,只不过这个选中下一行的显示和单元格颜色可能会重合,下面还用了label显示行号,这样更清楚看到选到了哪一行,下一行是会从最后一行循环到第一行的

void MainWindow::on_pushButton_4_clicked()
{
    QList<QTableWidgetItem*> items= ui->tableWidget->selectedItems();
    int ncount =items.count();
    int ncurrentrow,nmaxrow;

    nmaxrow=ui->tableWidget->rowCount();

    if(ncount>0)
    {
        ncurrentrow=ui->tableWidget->row(items.at(0));
        ncurrentrow+=1;

        if(ncurrentrow>=nmaxrow)
            ui->tableWidget->setCurrentCell(0,QItemSelectionModel::Select);
        else
            ui->tableWidget->setCurrentCell(ncurrentrow,QItemSelectionModel::Select);
    }
    else
    {
        ui->tableWidget->setCurrentCell(0,QItemSelectionModel::Select);
    }

}

显示行号:右键ui文件中的tablewidget,转到槽,信号用cellClicked(int , int ),这个可以得到点击的单元格,包括行号和列号,我们这里只需要用到行号

void MainWindow::on_tableWidget_cellClicked(int row, int column)
{
    ui->label->setText(QString("%1").arg(row+1));
}

参考:

【QT学习系列】20_Qt表格控件之单元格

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

都是报错快CV吧

还能打赏?好活当赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值