QTablewidget只选择一行的checket
在主函数添加信号槽连接
connect(ui.tableWidget, SIGNAL(cellClicked(int, int)), this, SLOT(on_checkchangestate(int, int)));
在tablewidget中添加checked
int RowCont = ui.tableWidget->rowCount(); //获取共有多少行
ui.tableWidget->insertRow(RowCont);//增加一行
QTableWidgetItem *item = new QTableWidgetItem();//创建一个item
item->setCheckState(Qt::Unchecked); //items设置为checked 未选中状态
ui.tableWidget->setItem(RowCont, 0, item);//将item 添加到某行某列中 本例是添加到0列中
在on_checkchangestate(int, int)槽函数中实现如下代码
int rowcount = ui.tableWidget->rowCount();//获取共有多少行
//循环将所有行的checked状态设置为未选中状态
for (int i = 0; i < rowcount; i++)
{
QTableWidgetItem *item = ui.tableWidget->item(i, 0);
item->setCheckState(Qt::Unchecked);
}
//将单击的checked 的状态设置为选中状态
QTableWidgetItem *item = ui.tableWidget->item(row, colmn);
item->setCheckState(Qt::Checked);