我目前有一个QStandardItemModel
. 模型本身有两列,一列是文本列,另一列是复选框。现在我将信号连接到我的代码中的插槽
QObject::connect(model,SIGNAL(itemChanged(QStandardItem*)),
this,SLOT(ColumnChecked(QStandardItem*))); //Column to filter checked
现在,当用户在表单中进行更改时,此信号可以正常工作。即当用户使用表单时。但是,如果我从我的代码中选中一个框,则不会发出信号。例如,如果我这样做:
model->item(i,1)->setCheckState(Qt::CheckState::Checked);
插槽未被调用。所以我必须像这样在进行更改后调用插槽
Column_Model->item(i,1)->setCheckState(Qt::CheckState::Checked);
ColumnChecked(Column_Model->item(i,1));
你能告诉我这是正常行为还是我做错了什么。即使我在代码中对模型进行了更改,我也期望调用该插槽。