Название: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: PavelVX от Сентября 14, 2011, 08:47 Взял пример из инета, начал разбираться с QTreeView. Вроде бы ничего сложного. Заполняю модель, проверяю заполнения, вроде бы все нормально. А данные не могу нигде вывести! Где косяк? :(
Код: QTreeView * treeView = new QTreeView; Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: shirushizo от Сентября 14, 2011, 09:06 после цикла попробуй:
Код: treeView->reset() Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: kambala от Сентября 14, 2011, 09:11 Код
Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: PavelVX от Сентября 14, 2011, 09:29 kambala, спасибо, заработало!
Но тогда, для чайника, объясни пожалуйста, почему не работало? Два примера таких же нашел, везде сделали без указателей. Поскольку данный treeview будет привязан к реальным данным, то где и как можно хранить инфу о реальной записи? Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: GreatSnake от Сентября 14, 2011, 09:33 model создавалась на стеке - при выходе из области видимости model уничтожалась - азы C++ однако)
Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: PavelVX от Сентября 14, 2011, 12:06 понял, спасибо! Я потом уже допер, что примеры делались в самой функции main, поэтому модель и не умирала раньше времени :)
А кто-нибудь может подсказать, если пользователь щелкнул по элементу в TreeView, как мне определить индекс в модели? Что-то роюсь в доках, не могу найти. В основном все обсуждают привязку модели к тривью. Это я сделал грубым перебором. А вот как потом определить рекорд, отвечающий за конкретный элемент тривию непонятно :( Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: GreatSnake от Сентября 14, 2011, 12:11 если пользователь щелкнул по элементу в TreeView, как мне определить индекс в модели? void QAbstractItemView::clicked( const QModelIndex& index ) [signal]Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: PavelVX от Сентября 14, 2011, 12:45 все, похоже пора домой, я уже мысль нормально сформулировать не могу.
Код: connect(treeView, SIGNAL(clicked(QModelIndex)), this, SLOT(treeViewClick(QModelIndex))); item1 - 0,0,0 0,0,1 - 0,1,0 0,1,1 - 0,2,0 0,2,1 item2 - 1,0,0 1,0,1 - 1,1,0 1,1,1 - 1,2,0 1,2,1 и тд. Это я уже сделал, я вот чего понять не могу: если я щелкаю по item1 у меня qDebug() << QString("%1 - %2").arg(index.column()).arg(index.row()); выдаст 0 - 0 по 0,0,0 тоже выдаст 0 - 0! по item2 выдает 0 - 0 по 1, 0, 0 выдает 0 - 0! Почему??? Должно же быть по item1 0 - 0, по 0,0,0 должно быть 1 - 1! Название: Re: Не могу отобразить QStandardItemModel в QTreeView :( Отправлено: PavelVX от Сентября 15, 2011, 06:24 Всем спасибо за помощь!
В итоге оказалось проще сделать представление через QTreeWidget + QTreeWidgetItem + рекурсия в заполнении + уникальные индексы в редактировании. |