Название: QItemDelegate сохраненный указатель на QStandardItem и краш Отправлено: SABROG от Апрель 18, 2007, 18:17 Есть QTreeView, с QStandardItemModel и своим делегатом на базе QItemDelegate. При заполнении модели в специальные переменные я запихиваю указатели на каждый из QStandardItemов. Внутри метода setEditorData по типу QModelIndex'a я определяю какой из итемов передомной и беру на него сохраненный QStandardItem указатель, пытаюсь тут же изменить ему высоту ячейки через setSizeHint и получаю краш :(
Причем падает при попытке взять хинт pointer->sizeHint(); добавлено спустя 1 час 7 минут: Вообще странно, указатель валидный. Но видимо есть какое-то ограничение на использование методов связанных с отрисовкой внутри делегируемого класса, т.к. как раз его задача - отрисовка. Я хочу сделать так, чтобы при наведении мышкой на итем его высота увеличивалась, при покидании итема - возвращалась в прежнюю. Пытался проверять флаги в sizeHint и возвращать размер больше, если стоит флаг option.state & QStyle::State_MouseOver, но почему-то не срабатывает. Видимо надо ставить фильтр на mouse move. Название: QItemDelegate сохраненный указатель на QStandardItem и краш Отправлено: Racheengel от Апрель 19, 2007, 00:49 а модель больше нигде не меняется?
я делал что-то подобное (сохранял итемы, а затем работал с ними) - проблем вроде не было... |