我知道当您可以访问QStandardItemModel
但使用 combobox->model()
返回一个没有item(int row, int col)
访问器的QAbstractItemModel
时,您可以做到这一点。我尝试过与QAbstractItemModel::itemData(QModelIndex)
合作,但无法让它按我的要求工作。
我只需要获取项目的检查状态,if(item.checkState() == Qt::Checked) etc...
编辑:我有这个代码,我可以把它投射到QStandardItem吗?
QModelIndex index(1, 0);
QVariant item = ui->SearchAssessmentCombo->model()->data(index, Qt::CheckStateRole);
您不能自己声明索引,所有索引都绑定到模型。在内部,data()
函数将确定您在参数中给出的索引不属于模型,并将为所有内容返回 null 值。
您需要要求模型为您提供有效的索引,然后才能使用它。
QModelIndex index = ui->SearchAssessmentCombo->model()->index(1,0);