Как преобразовать QVariant в QDomNode

У меня есть простая модель DOM для работы с XML (из этого руководства: http://doc.qt.io/qt-5/qtwidgets-itemviews-simpledommodel-example.html). Теперь в моем коде я хочу получить данные по индексу следующим образом:

auto data = model_->data(index, Qt::DisplayRole);

Но метод data() возвращает QVariant, и я хочу преобразовать его в QDomNode. Как я могу это сделать? Я пробовал это: https://stackoverflow.com/a/24363059/5955876, но это не помогло. Я думаю, это потому, что QDomNode не QObject. Какие-либо предложения?


person Count Zero    schedule 29.05.2018    source источник


Ответы (1)


Вам не нужно использовать функцию data() нашей модели. Вам нужно просто извлечь объект QDomNode из индекса модели. То есть:

[..]
QModelIndex index =  model_->index(row, column);
DomItem *item = static_cast<DomItem *>(index.internalPointer());
QDomNode node = item->node();
person vahancho    schedule 29.05.2018