Название: Работа с индексами в модели QStandardItemModel Отправлено: Waryable от Ноябрь 28, 2008, 12:18 Имеется:
Код Проблема в том, что метод model -> index( nRow, 0 ); не возвращает валидный индекс. Конкретнее, при любых значениях аргументов индекс указывает на -1 строку и -1 столбец, указатель р всегда равен нулю. Примеров работы с индексами в ассистенте не нашел(возможно плохо искал). В учебниках примеры есть, но почему-то проблема та же - индексы получаю не валидные. Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Пантер от Ноябрь 28, 2008, 12:34 Для получения индекса нужно, чтобы были данные. А ты делаешь все наоборот. Читай про заполнение модели в ассистенте.
Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Waryable от Ноябрь 28, 2008, 12:50 В том то и дело, что мне надо заполнить модель.
Код Поидее методу надо задать еще третий аргумент - указатель на предка. Для создания первого элемента модели, поидее, надо вызвать этот матод таким образом: Код Проблема в том, что не смог найти как получить parent. Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Karl-Philipp от Ноябрь 28, 2008, 13:31 Имеется: Код Проблема в том, что метод model -> index( nRow, 0 ); не возвращает валидный индекс... ты создал модель, но ты же не указал, сколько в ней строк и колонок (не заполнил её айтемами)! Откуда модель возьмёт требуемый тебе индекс ??? Сперва либо создай айтемы и помести их в модель, либо сразу создавай модель с требуемым числом строк и колонок: Цитировать QStandardItemModel ( int rows, int columns, QObject * parent = 0 ) Глянь ассистант про QStandardItemModel, там очень хорошо видно :) P.S. В твоём случае parent при заполнении не при чём. Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Waryable от Декабрь 01, 2008, 10:23 Приветствую. Спасибо за ответы. С предками разобрался. Но сколько не курил асистент и другие учебники, так и не понял, как решить мою задачу.
Создана модель дерева QStandardItemModel. В ней созданы три корневых итема. Задача реализовать возможность добавления отдельных итемов к каждому из корневых итемов. Все было бы просто, если б добавление можно было производить таким образом: model.insertItem(index, item); , где index - индекс корневого итема, item - добавляемый итем. Но, к сожалению, это только лишь мои мечты :D Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Karl-Philipp от Декабрь 01, 2008, 11:04 ... данная возможность уже реализована!Создана модель дерева QStandardItemModel. В ней созданы три корневых итема. Задача реализовать возможность добавления отдельных итемов к каждому из корневых итемов. ... приблизительно будет выглядеть так: Код: ... Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Waryable от Декабрь 01, 2008, 11:21 Код Господа, ну что у вас за привычка, я только найду решение, иду отписываться, а тут вы уже его запостили!!! :D Шутка ;) Точно такое решение я уже реализовал. Спасибо terlan. Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: ритт от Декабрь 01, 2008, 15:26 в следующий раз попробуй искать решение _до_ того, как постишь здесь.
Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Waryable от Декабрь 02, 2008, 09:34 в следующий раз попробуй искать решение _до_ того, как постишь здесь. Странное заявление. Пока решение не найдено, неизвестно сколько уйдет времени на его поиск. В то время как, можно отписать свою проблему здесь, что дает большую вероятность того, что решение будет найдено быстрее. Так в чем проблема то?Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: ритт от Декабрь 02, 2008, 11:31 тратишь чужое время, а стОит шевельнуть мозгой - и сам решение находишь.
Название: Re: Работа с индексами в модели QStandardItemModel Отправлено: Waryable от Декабрь 02, 2008, 12:18 Стало еще более странно. Здесь все в конечном счете тратят чужое время. Я потому и задаю вопрос в теме для новичков, что на Qt только начинаю программировать. Вопросы выглядят тривиальными для тех, кто уже на "ты" со средой. Я еще не дотянул до такого уровня. Мозгой я шевелил и когда вопрос задавал, и после этого. Когда сам нашел решение, отписал здесь. Поблагодарил всех, и немного отшутился. А вашы посты немного здесь не в тему.
ЗЫ: начался флуд... |