crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> излишняя перерисовка окон в 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


фрилансер
******

Группа: Участник
Сообщений: 2928
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


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

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

Сообщение отредактировал Алексей1153 - 29.12.2010, 18:12
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 9.12.2021, 8:04