Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Глюк Qt или QGraphicsScene просто не приспособлена?
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
metz
Здравствуйте, форумчане!

Вот, собственно, что я откопал:
В ячейку QTableWidget со спаном в несколько колонок добавлен QGraphicsView, а в него QGraphicsScene. Далее если на сцену положить несколько айтемов - addItem() и начать скролировать таблицу, то в тот момент когда ячейка со спаном (но не сцена, она ведь во всю ширину столбцов спана ячейки) и со сценой пропадает из области видимости - айтемы на сцене перестают перерисовываться и, если они тоже пропадают из виду, то при возврате к ним они не перерисовываются до тех пор, пока ячейка со спаном снова не появится на экране. Как с этим бороться?
RazrFalcon
Если виджет не виден - он не перерисовывается.
metz
Цитата(RazrFalcon @ 18.4.2012, 16:48) *
Если виджет не виден - он не перерисовывается.

Дело в том что виджет (QGraphicsScene) виден, НО! т.к. функция таблицы setCellWidget добавляет виджет к конкретной ячейке, то, как только та самая (первая ячейка из объединенной группы ячеек) уходит за область видимости, виджет этой ячейки (как и сама ячейка) больше не перерисовывываются. А раз ячейке ничто не сигнализирует о необходимости перерисоваться, то и виджету тоже, хоть он и виден (потому что он занимает все пространство объединения)! По крайней мере моя программа ведет себя именно так, тоесть все айтемы перерисовываются и никуда не пропадают пока первая ячейка объединения видна (в которую назначен виджет). В общем я думаю меня поняли.
PAFOS
хватай сигналы valueChanged от скроллов и перерисовывай принудительно сцену
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.