在代码中,你只对当前选中的行进行了勾选处理,但是没有对其他行进行取消勾选的处理。你需要在else语句中对其他行进行取消勾选的处理。修改后的代码如下:

int index = MainWindow::getListCurrenIndex();
for (int i = 0; i < ui->tw_process->rowCount(); i++){
    if (i == index){
        ui->tw_process->item(index, 0)->setCheckState(Qt::Checked);
        qDebug() << "Checked" << i;
    } else {
        ui->tw_process->item(i, 0)->setCheckState(Qt::Unchecked); // 取消勾选
        qDebug() << "Unchecked" << i;
    }
}
TODO 实现只选这个功能 int index=MainWindowgetListCurrenIndex; for int i=0;iui-tw_process-rowCount;i++ ifi==index ui-tw_process-itemindex0-setCheckStateQtChecked; qDebugCheck

原文地址: https://www.cveoy.top/t/topic/cHKm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录