如何使用QStandardItemModel::setData
函数为在某个单元格中找到的QComboBox
设置当前值,例如在索引(0,0)处用作委托< / strong>,以便QStandardItemModel::setData
函数调用ComboBoxItemDelegate::setModelData
函数。
我知道从ComboBoxItemDelegate::setModelData
中选择一个项目时会调用comboBox
函数,但是我的问题是ComboBoxItemDelegate::setModelData
函数没有通过调用comboBox::setData
来调用。 br />
因此,我想以编程方式调用comboBox::setData
ComboBoxItemDelegate::setModelData
我尝试过的事情:
这里是setModelData
函数,当从UI中选择comboBox
中的一项时会调用该函数:
void ComboBoxItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
{
if (QComboBox* cb = qobject_cast<QComboBox*>(editor)){
qDebug()<<"hello, i have been called from the setModelData";
}
else
QStyledItemDelegate::setModelData(editor, model, index);
}
但是当我尝试通过以下方式将comboBox
(在索引(0,0)中找到)的数据设置为“项A”时:
ui->tableView->model()->setData ( ui->tableView->model()->index(0,0), "Item A, Qt::EditRole);
已成功设置comboBox
的值,但未调用ComboBoxItemDelegate::setModelData
函数,这是我的问题