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