Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ излишняя перерисовка окон в QMdiArea

Автор: qtshnik 29.12.2010, 12:45

Имею сложный виджет с тяжелой графикой. Засовываю его в окно QMdiSubWindow. Замечаю, что при перемещении этого окна мышкой происходят жуткие тормоза. Оказывается, что виджет полностью перерисовывается при каждом движении мыши (происходит событие paintEvent, которое вызывается, видимо вызоывми repaint() или update() самим кутэшным ядром, но точно не мной). Пробую сделать этот же тяжелый виджет окном верхнего уровня, и тормозов нет, paintEvent не вызывается.

Вопрос номер раз: это является стандартным поведением QMdiSubWindow?
вопос номер два раза: может, существует какой-нибудь хитрый флажок или еще чего, чтобы такого поведения не было?

Автор: Алексей1153 29.12.2010, 18:11

qtshnik,
я с классом не знаком, но вот гляжу в справку и наткнулся на флажок (видать, не зря его ввели) - RubberBandMove. Судя по описанию, с ним перетаскиваться будет пустой прямоугольник, а окно в это время будет стоять на месте и ждать окончания действа

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

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)