狂自私

导航

QT表格、实现选择复选框所在单元格点击时改变复选框状态

主要是开始以为使用cellClicked 或者itemClicked 能解决,但是发现,使用这两个信号后,不能选择复选框了,只能通过选择单元格来实现复选框的勾选和去勾选。

所以来记录一下:

绑定信号和槽函数

connect(this->q_table, &QTableWidget::cellPressed, this, &user_management::CheckTheCheckbox);    //当复选框所在的单元格被单击后,反向修改复选框状态

槽函数的定义

/*勾选复选框,当单元格被单击是做出判断,只有点击了复选框所在的单元格才会操作复选框,选择了的去掉选择,没有选择的勾选上*/
void user_management::CheckTheCheckbox(int x, int y) {
    if (y == 0) {
        if (this->q_table->item(x, y)->checkState()) {
            this->q_table->item(x, y)->setCheckState(Qt::Unchecked);    //反向选择复选框
        }
        else {
            this->q_table->item(x, y)->setCheckState(Qt::Checked);    //选择复选框
        }
    }
}

 

posted on 2022-06-26 09:35  狂自私  阅读(1209)  评论(0编辑  收藏  举报