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



我知道当您可以访问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);

相关内容

  • 没有找到相关文章

最新更新