излишняя перерисовка окон в QMdiArea |
Здравствуйте, гость ( Вход | Регистрация )
излишняя перерисовка окон в QMdiArea |
qtshnik |
29.12.2010, 12:45
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 3.12.2010 Пользователь №: 2240 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имею сложный виджет с тяжелой графикой. Засовываю его в окно QMdiSubWindow. Замечаю, что при перемещении этого окна мышкой происходят жуткие тормоза. Оказывается, что виджет полностью перерисовывается при каждом движении мыши (происходит событие paintEvent, которое вызывается, видимо вызоывми repaint() или update() самим кутэшным ядром, но точно не мной). Пробую сделать этот же тяжелый виджет окном верхнего уровня, и тормозов нет, paintEvent не вызывается.
Вопрос номер раз: это является стандартным поведением QMdiSubWindow? вопос номер два раза: может, существует какой-нибудь хитрый флажок или еще чего, чтобы такого поведения не было? |
|
|
Алексей1153 |
29.12.2010, 18:11
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
qtshnik,
я с классом не знаком, но вот гляжу в справку и наткнулся на флажок (видать, не зря его ввели) - RubberBandMove. Судя по описанию, с ним перетаскиваться будет пустой прямоугольник, а окно в это время будет стоять на месте и ждать окончания действа и рядом флажок для ресайзинга с таким же поведением, кстати Сообщение отредактировал Алексей1153 - 29.12.2010, 18:12 |
|
|
Текстовая версия | Сейчас: 18.1.2025, 10:15 |