我创建了QTableView
并在此代码中添加了QStandardItem
复选框:
....
QStandardItem *chkItem = new QStandardItem(true);
chkItem->setCheckable(true);
chkItem->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
tblModel->appendRow(chkItem);
...
其中tblModel
为QStandardItemModel
。
现在我想知道如何抓住复选框更改状态事件?
我尝试捕获表单击事件,但每次用户单击一个单元格时都会触发(我不知道复选框状态是否已更改)。请给我一个解决这个问题的方法。
答案 0 :(得分:0)
尝试QStandardItem::checkState()
检索复选框的Qt::CheckState
。如果您需要知道,如果状态已更改,则将旧状态保存在某处并检查click事件的状态是否已更改。