Qt5是否可以在没有指向模型的指针的情况下从组合框中检索项目的检查状态?

时间:2013-09-29 03:14:34

标签: qt qcombobox qabstractitemmodel qstandarditemmodel

我知道您可以访问QStandardItemModel,但使用combobox->model()会返回QAbstractItemModel没有item(int row, int col)访问者的权限。我曾尝试使用QAbstractItemModel::itemData(QModelIndex),但无法按照我的要求让它工作。

我只需要获取项目的CheckState if(item.checkState() == Qt::Checked) etc...

编辑:我有这段代码,我可以把它投射到QStandardItem吗?

QModelIndex index(1, 0);
QVariant item = ui->SearchAssessmentCombo->model()->data(index, Qt::CheckStateRole);

1 个答案:

答案 0 :(得分:1)

您不能自己声明索引,所有索引都与模型相关联。在内部,data()函数将确定您在参数中提供的索引不属于模型,并将为所有内容返回空值。

在使用之前,您需要让模型为您提供有效的索引。

QModelIndex index = ui->SearchAssessmentCombo->model()->index(1,0);