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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Корректное отображение картинки с альфаканалом на виджете  (Прочитано 22515 раз)
pitekantrop
Гость
« Ответ #15 : Январь 22, 2010, 17:19 »

Тогда может http://www.qtcentre.org/wiki.php?title=ARGB-Widgets поможет.
спасибо, буду ковырять..
Записан
pitekantrop
Гость
« Ответ #16 : Январь 22, 2010, 17:37 »

Что это за виджет кнопка, который является отдельным окном?

Выложите минимальный компилируемый пример.

Есть приложение-видеоплеер с главным окном, пронаследованным от QWidget'а. При нажатии на "паузу" поверх видео появляется виджет типа QLabel c загруженной в него картинкой с альфаканалом (см. ссылки выше). Проблема в том, что при добавлении, например, в объект класса QGraphicsScene картинка рисуется с учетом альфаканала, а при добавлении в QLabel альфаканал игнорируется
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #17 : Январь 22, 2010, 18:16 »

>>а при добавлении в QLabel альфаканал игнорируется
чушь собачья, всё учитывается.
Записан

Юра.
SASA
Гость
« Ответ #18 : Январь 23, 2010, 11:37 »

Я думаю дело в картинке.
Накидал примерчик.
Записан
pitekantrop
Гость
« Ответ #19 : Январь 25, 2010, 11:30 »

чушь собачья, всё учитывается.
на каком основании сделан столь резкий и категоричный вывод?
Записан
pitekantrop
Гость
« Ответ #20 : Январь 25, 2010, 11:40 »

Я думаю дело в картинке.
Накидал примерчик.
откуда взят файл "ui_alpha.h"?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #21 : Январь 25, 2010, 11:45 »

сгенерён дизайнером
Записан
SASA
Гость
« Ответ #22 : Январь 25, 2010, 11:50 »

Он получается после обработки alpha.ui специальным кутэшным парсером.
Если интересно, прочитейте у Шлее как происходит компиляция кутэшных проектов. По-моему, там есть очень красивая и понятная диаграмка.
Записан
SASA
Гость
« Ответ #23 : Январь 25, 2010, 11:51 »

сгенерён дизайнером
Нет. Дизайнером сгенерён alpha.ui.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #24 : Январь 25, 2010, 11:53 »

уболтал, uic'ом... в старые добрые времена приходилось сохранять код формочек ручками из дизайнера... к-ый и звал уик где-то там в фоне
Записан
pitekantrop
Гость
« Ответ #25 : Январь 25, 2010, 12:59 »

Ситуация оказалась довольно простой: сама картинка рисуется на объекте QLabel с учетом альфаканала, но из-за серого фона самого объекта QLabel кажется, что альфаканал игнорируется.. В моем случае, наверное, единственным выходом будет использование http://www.qtcentre.org/wiki.php?title=ARGB-Widgets. Всем спасибо и удачи!
Записан
SABROG
Гость
« Ответ #26 : Январь 25, 2010, 13:16 »

Ситуация оказалась довольно простой: сама картинка рисуется на объекте QLabel с учетом альфаканала, но из-за серого фона самого объекта QLabel кажется, что альфаканал игнорируется.. В моем случае, наверное, единственным выходом будет использование http://www.qtcentre.org/wiki.php?title=ARGB-Widgets. Всем спасибо и удачи!

Ты рисуешь картинку на QLabel через paintEvent() или ставишь через метод? У меня все нормально работает через метод setPixmap()

Записан
Kolobok
Гость
« Ответ #27 : Январь 25, 2010, 13:22 »

Ситуация оказалась довольно простой: сама картинка рисуется на объекте QLabel с учетом альфаканала, но из-за серого фона самого объекта QLabel кажется, что альфаканал игнорируется.. В моем случае, наверное, единственным выходом будет использование http://www.qtcentre.org/wiki.php?title=ARGB-Widgets. Всем спасибо и удачи!

А что мешает сделать фон прозрачным?
Записан
pitekantrop
Гость
« Ответ #28 : Январь 25, 2010, 13:54 »

Ты рисуешь картинку на QLabel через paintEvent() или ставишь через метод? У меня все нормально работает через метод setPixmap()

пробовал и так, и так - разницы никакой..
если я не ошибаюсь, приведенная картинка не имеет альфаканала..
Записан
pitekantrop
Гость
« Ответ #29 : Январь 25, 2010, 13:56 »

А что мешает сделать фон прозрачным?

если Вы имеете ввиду, в paintEvent'е сначала залить область Qt::transparent, а затем на ней рисовать QPixmap, то результат не меняется..
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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