Название: [Qt 4.x.x] QWidget & QGLWidget Отправлено: Sectoid от Январь 16, 2007, 20:43 Приветствую всех!
И снова я с проблемой полупрозрачности в Qt. Вот такой вот пример кода: TestChildWidget.hpp Код:
TestChildWidget.cpp Код:
TestWidget.hpp Код:
Код:
main.cpp Код:
Программа рисует окно, в нём тестовую надпись и 2 полупрозрачных виджета поверх. Всё замечательно, полупрозрачность работает. А теперь, если изменить во в виджетах родительский класс с QWidget на QGLWidget (т.е. попытаться задействовать OpenGL) получаем полную фигню: прозрачности нет, вместо полупрозрачных виджетов получаем чёрные квадраты малевича. У кого-нибудь есть какие-то идеи как лечить?... Заранее спасибо! Название: [Qt 4.x.x] QWidget & QGLWidget Отправлено: Dendy от Январь 17, 2007, 01:29 В винде не вьІйдет ничего путного. QGLWidget - обертка над контекстом рисования на окне. А последний будет полностью игнорировать значения полупрозрачности и прочего. ВьІход - рендерить во внеекранньІй буфер (QGLPixelBuffer, QGLFrameBuffer).
Название: [Qt 4.x.x] QWidget & QGLWidget Отправлено: Sectoid от Январь 17, 2007, 01:36 Тестил не в винде, но не важно - Qt ведь должна везде гарантировать одинаковое поведение...
Сие есть очень грустно, но что поделаешь... Интересно, почему тролли не сделали _всю_ прорисовку через OpenGL (обернули бы её в PixelBuffer под капотом библиотеки)? Было бы и быстрее и возможностей бы добавилось... Эх... Спасибо, за ответ... Название: [Qt 4.x.x] QWidget & QGLWidget Отправлено: Dendy от Январь 17, 2007, 02:24 Ага, и забить один большой болт на всех пользователей без 3Д ускорителей с корректно установленньІми дровами и поддержкой в последних FrameBuffer, забить на жертвьІ видео памяти, забить на совместимость с не-Qt приложениями/библиотеками, забить на интеграцию с оконной средой, в которой приложение запускается.
Название: Re: [Qt 4.x.x] QWidget & QGLWidget Отправлено: psgenn от Январь 10, 2010, 11:29 Что нибудь с вне экранными буферами получилось?
Название: Re: [Qt 4.x.x] QWidget & QGLWidget Отправлено: developer-nsk от Февраль 10, 2010, 16:05 Блин, у меня такая же проблема, я её описывал тут: http://www.prog.org.ru/topic_11129_0.html
К сожалению, дееспособного ответа так и не получил, или, возможно, не совсем правильно воспользовался советами. В любом случае, мне так и не удалось решить эту проблему, она до сих пор актуальна, и я тоже буду премного благодарен за помощь. |