2013-09-29 11 views
0

我知道你可以這樣做,當你有權訪問QStandardItemModel,但使用combobox->model()返回一個QAbstractItemModel,它沒有item(int row, int col)訪問器。我試過與QAbstractItemModel::itemData(QModelIndex)一起工作,但無法按我的要求工作。Qt5是否有可能從一個組合框中檢索一個項目的checkstate而沒有指向該模型的指針?

我只需要獲得項目的CheckState,if(item.checkState() == Qt::Checked) etc...

編輯:我有這樣的代碼,我可以投它一QStandardItem?

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

回答

1

你不能自己聲明索引,所有索引都與模型綁定。在內部,data()函數將確定您在參數中給出的索引不屬於該模型,並且將返回所有內容的空值。

你需要問你的模型給你一個有效的索引,然後才能使用它。

QModelIndex index = ui->SearchAssessmentCombo->model()->index(1,0); 
相關問題