0

我已经使用以下代码创建QTableView并添加了一个QStandardItem复选框:

....
QStandardItem *chkItem = new QStandardItem(true);
chkItem->setCheckable(true);
chkItem->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
tblModel->appendRow(chkItem);
...

tblModel在哪里QStandardItemModel

现在我想知道如何捕捉复选框更改状态事件?

我已经尝试捕获表格单击事件,但是每次用户单击单元格时都会触发此事件(我不知道复选框状态是否已更改)。请给我一个解决这个问题的方法。

4

1 回答 1

0

尝试QStandardItem::checkState()检索Qt::CheckState复选框。如果您需要知道状态是否发生变化,则将旧状态保存在某处并检查单击事件上的状态是否发生变化。

于 2012-08-18T08:23:47.367 回答