Название: QAbstractItemModel -> QString Отправлено: iukash от Февраль 18, 2011, 18:10 Я продалжаю раскуривать пример editabletreemodel, теперь я из файла считываю модель, правлю ее и хочу сохранить. Считываю актуальную модель в QAbstractItemModel а как теперь из model вытащить текст?
Цитировать QAbstractItemModel *model = view->model(); QString str = model; //[COLOR="Red"]как?[/COLOR] Название: Re: QAbstractItemModel -> QString Отправлено: UVV от Февраль 18, 2011, 18:52 QAbstractItemModel::data() ?
Название: Re: QAbstractItemModel -> QString Отправлено: iukash от Февраль 18, 2011, 21:09 QAbstractItemModel::data() ? В data() надо передавать параметры, я не знаю что туда передать! Цитировать data( const QModelIndex & index, int role = Qt::DisplayRole ) Название: Re: QAbstractItemModel -> QString Отправлено: Paullo от Февраль 18, 2011, 21:22 QModelIndex нужно получить из той же модели посредством функции index(), куда передаётся соответственно строка, колонка и родительский индекс. Если родительского элемента нету, то в качестве индекса передаётся пустой QModelIndex(), который считается корневым элементом всего дерева. Ещё в функцию data() надо передать роль, это которая второй параметр. Он по умолчанию Qt::DisplayRole, так его и оставь. Если не получится - попробуй Qt::EditRole. Обычно в DisplayRole хранится текст который должен читать пользователь, а в EditRole - некие данные из которых этот текст можно получить. Чаще всего они совпадают.
Название: Re: QAbstractItemModel -> QString Отправлено: iukash от Февраль 18, 2011, 22:19 QModelIndex нужно получить из той же модели посредством функции index(), куда передаётся соответственно строка, колонка и родительский индекс. Если родительского элемента нету, то в качестве индекса передаётся пустой QModelIndex(), который считается корневым элементом всего дерева. Ещё в функцию data() надо передать роль, это которая второй параметр. Он по умолчанию Qt::DisplayRole, так его и оставь. Если не получится - попробуй Qt::EditRole. Обычно в DisplayRole хранится текст который должен читать пользователь, а в EditRole - некие данные из которых этот текст можно получить. Чаще всего они совпадают. Спасибо огромное! Понял суть! |