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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGLWidget - проблемы на OSX  (Прочитано 2846 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Июнь 18, 2014, 17:20 »

Добрый день

В аттаче немного измененный пример 2dpainting. Красный виджет можно таскать, а QGLWidget вставлен в др такой же виджет. На Вындоуз все норм, красный перекрывает QGLWidget, и красный parent тоже нормально драгится. На OSX QGLWidget не появляется вообще. Если же у QGLWidget родитель просто окно (window_1.cpp) то он отображается но теперь красный не может его перекрыть. На обоих платформах юзал Qt 5.2. На OSX ситуевина та же и со старым Qt 4.7.4

Спасибо
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Июнь 19, 2014, 11:59 »

Для полноты картины - вот скриншот  как тот же код ведет себя на OSX - QGLWidget ничем не перекрыть, хотя красный получает raise, можно только др окном - но не виджетом того же окна.

И в гугле ничего не видно по этому поводу Плачущий

Edit: да, еще - в измененном примере можно перебросить комменты одной строки - тогда вместо QGLWidget будет обычный, и поведение становится корректным/ожидаемым
« Последнее редактирование: Июнь 19, 2014, 12:54 от Igors » Записан
Bepec
Гость
« Ответ #2 : Июнь 19, 2014, 12:31 »

Оставил бы я у себя мак, попробовал бы.
Мб дело в порядке отрисовки? Дебаггером пройтись и посмотреть на реакцию бы.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Июнь 19, 2014, 15:01 »

И кстати о птичках: по крайней мере на OSX можно рисовать в QGLWidget без всякого paintEvent (makeCurrent - вызовы OpenGL - swapBuffers). Это довольно удобно - но все-таки грубейшее нарушение идеологии  Улыбающийся
Записан
vulko
Гость
« Ответ #4 : Июнь 20, 2014, 08:45 »

osx очень своеобразная ос.
opengl там может доставлять немало гемора...

если перекрытие нужно для прозрачности поверх gl сцены, советую перейти на qgraphicsscene
Записан
Bepec
Гость
« Ответ #5 : Июнь 20, 2014, 09:06 »

ммм...
Ну тут всё уже ясно - glWidget перерисовывает себя. Ибо остальная часть виджета закрашена.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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