Russian Qt Forum
Сентябрь 30, 2024, 14:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QItemDelegate сохраненный указатель на QStandardItem и краш  (Прочитано 2988 раз)
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.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Апрель 19, 2007, 00:49 »

а модель больше нигде не меняется?
я делал что-то подобное (сохранял итемы, а затем работал с ними) - проблем вроде не было...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.125 секунд. Запросов: 23.