История изменений
Исправление
AntonI,
(текущая версия)
:
Снова я;-)
А как сделать перерисовку canvas-а через QPainter (который должен быть в paintEvent) не по каждому чиху а только тогда когда это действительно нужно? Сейчас Canvas наследник QWidget и просто размещен на окне через setGeometry. Когда я запускаюсь у меня перерисовка происходит дважды. Кроме того на окне слева управляющие элементы, когда я над ними мышкой вожу перерисовка дергается случайным образом, хотя я их не нажимаю и они даже никуда не прикручены.
У меня есть два вида перерисовок:
-
тяжелая, с построением картинок и пр. - должна вызываться когда окно изменило размер или когда был нажат какой то из управляющих элементов
-
легкая, просто крестик от мыши сдвигается и меняется несколько чиселок, остальное остается неизменным - когда курсор мыши двигается над canvas-ом.
Если это все в одном paintEvent, то придется видимо сделать флаг активирующий тяжелую перерисовку? Но я не очень понимаю, как при легкой перерисовке оставлять на экране то, что нарисовано было в тяжелой?
Исходная версия
AntonI,
:
Снова я;-)
А как сделать перерисовку canvas-а через QPainter (который должен быть в paintEvent) не по каждому чиху а только тогда когда это действительно нужно? Сейчас Canvas наследник QWidget и просто размещен на окне через setGeometry. Когда я запускаюсь у меня перерисовка происходит дважды. Кроме того на окне слева управляющие элементы, когда я над ними мышкой вожу перерисовка дергается случайным образом, хотя я их не нажимаю и они даже никуда не прикручены.
У меня есть два вида перерисовок:
-
тяжелая, с построением картинок и пр. - должна вызываться когда окно изменило размер или когда был нажат какой то из управляющих элементов
-
легкая, просто крестик от мыши сдвигается и меняется несколько чиселок, остальное остается неизменным - когда курсор мыши двигается над canvas-ом.
Если это все в одном paintEvent, то придется видимо сделать флаг активирующий тяжелую перерисовку? Но я не очень понимаю, как при легкой перерисовке сохранять то что нарисовано было в тяжелой?