Russian Qt Forum
Ноябрь 23, 2024, 20:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как происходит рисование виджетов  (Прочитано 2247 раз)
ilyagoo
Гость
« : Январь 30, 2011, 20:11 »

например, для QWidget paintEvent(..) пустой. значит рисование происходит где-то до него, но и event(..) я ничего не углядел. может кто уже рыл в эту сторону?
Записан
Fat-Zer
Гость
« Ответ #1 : Январь 30, 2011, 21:58 »

просто предположение...
void QWidget::render();
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Январь 30, 2011, 22:16 »

Если "рисование" подразумевает "вывод на экран" - то вообще дело темное (платформо-зависимое), даже без Qt. Пример: сижу в отладчике, точка  останова в "paint". Вроде бы управление должно прийти при каждой перерисовке. Но нет - я могу напр. скрыть отладчик и др. задачи - окна отлаживаемой задачи будут показаны (double-buffered). Причем точка останова не сработает. На Вындоуз не так (XP64), но то пока.

В общем случае гарантируется что действия в "paint" будут (может быть, когда-то) отображены - но не более. Ну и плюс зачистка background и.т.п может быть "до того" (устанавливается опциями)
Записан
ilyagoo
Гость
« Ответ #3 : Январь 30, 2011, 23:44 »

просто предположение...
void QWidget::render();

ни фига)) по крайней мере в винде.

вроде как отрисовка рамки с заголовком отрисовывается при получении WM_NCPAINT. причем это событие возвращается винде, и та сама это рисует. где-то рядом и отрисовка содержимого...

заинтересовало это потому, что есть желание написать dockwidget (фактически переписать QMainWindow, QDockWidget и т.д.).
во-первых, при отсутствии centralWidget они работают криво, во-вторых, сделать аналог управления окнами в Visual Studio. вот только времени на это нет, поэтому буду продвигаться мелкими шагами. любая помощь приветствуется.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.164 секунд. Запросов: 23.