我目前有一个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));
你能告诉我这是正常行为还是我做错了什么?即使我在代码中对模型进行了更改,我也希望调用插槽。