как перестать перекрашивать виджет при изменении его размера - PullRequest
1 голос
/ 19 сентября 2010

Я создаю программу, в которой событие рисования рисует виджет в соответствии с моими потребностями, но проблема

в том, что когда я изменил размер окна приложения, оно снова нарисовало его, поэтому, пожалуйста, скажите мне, как это сделать

чтобы событие рисования не рисовало мой виджет при изменении размера главного окна.

мой файл:

v_lab.h (http://qt.pastebin.com/tjHAWkPH)
v_lab.cpp (http://qt.pastebin.com/teJDmMmt)
main.cpp (http://qt.pastebin.com/gsUytaCN)

Спасибо

1 Ответ

3 голосов
/ 19 сентября 2010

Нет, вы хотите перерисовывать каждый раз, когда изменяется главное окно. Но ваш дизайн несколько странный, поскольку вы создаете случайные вещи внутри функции paintEvent. Вы должны создать этот материал где угодно, сохранить его в QPixmap или в другом месте и просто перерисовать изображение в функции paintEvent.

Другими словами, paintEvent должен перерисовывать представление только в его текущем состоянии и не должно содержать ничего, что изменяет состояние.

...