我有一個clicked()-signal它知道QModelIndex類型的選定索引。如何使用QModelIndex訪問QStandardItemModel及其數據?
void onListClicked(const QModelIndex & index) { /* ... */ }
否我想訪問被點擊項目的數據。我發現我可以訪問使用model()
模型:
void onListClicked(const QModelIndex & index)
{
QStandardItemModel * model {index.model()};
}
但這種失敗的模型()吸氣劑只允許我返回QAbstractItemModel。
error: invalid conversion from 'const QAbstractItemModel*' to 'QStandardItemModel*' [-fpermissive]
如何訪問QStandardItemModel甚至更好的選擇QStandardItem?我的唯一標識符存儲在QStandardItem::data()中。
我需要的是類似的東西:
void onListClicked(const QModelIndex & index)
{
QStandardItemModel * model {index.model()};
QStandardItem * item {model->itemFromIndex(index)};
qDebug() << item->data().toString();
}
但是,這並不工作。爲什麼這麼難。我在這裏錯過什麼?
這個角色只是做我需要的。再次感謝! – default