Я пытаюсь получить текст и данные из столбца с порядковым номером 0
из выбранной строки
но я никогда не получаю правильные данные, я использую простое представление модели TreeView
с прокси QSortFilterProxyModel
для сортировки столбцов и QStandardItemModel
в качестве модели
Это функция слота, которая срабатывает при каждом двойном щелчке
connect(ui.treeView_mainwindow, SIGNAL(doubleClicked( const QModelIndex &)), this,SLOT(tree_itemClicked( const QModelIndex &)));
....
...
void MainWindowContainer::tree_itemClicked(const QModelIndex & index)
{
int iSelectedRow = index.row();
QString groupID;
QString groupName;
groupID = m_model->item(iSelectedRow,0)->data(Qt::UserRole).toString();
groupName = m_model->item(iSelectedRow,0)->text();
}
UPDATE :
Ну, я нашел ответ, но у меня есть другой вопрос, ответ:
QString groupID = index.model()->index(index.row(), 0, index.parent()).data(Qt::UserRole).toString();
QString groupName = index.model()->index(index.row(), 0, index.parent()).data(Qt::DataRole).toString();
}
Другой мой вопрос: как установить данные для столбца в индексе (например, 3) в выбранной строке?