3

我目前有一个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));

你能告诉我这是正常行为还是我做错了什么。即使我在代码中对模型进行了更改,我也期望调用该插槽。

4

0 回答 0