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

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

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Корректное отображение картинки с альфаканалом на виджете  (Прочитано 22513 раз)
SABROG
Гость
« Ответ #30 : Январь 25, 2010, 14:07 »

пробовал и так, и так - разницы никакой..
если я не ошибаюсь, приведенная картинка не имеет альфаканала..

Общая картинка нет, а pixmap шарика с альфа-каналом.

В общем как я и просил выше нужен материал с которым можно работать - компилируемый пример с проблемой. Писать свой видео-плеер с такими кнопочками времени нет ни у кого.
Записан
Kolobok
Гость
« Ответ #31 : Январь 25, 2010, 19:22 »

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

если Вы имеете ввиду, в paintEvent'е сначала залить область Qt::transparent, а затем на ней рисовать QPixmap, то результат не меняется..

Нет, я имел ввиду следующее...
Код:
label->setPixmap( ... );
label->setAutoFillBackground( true );
QPalette palette = label->palette();
palette.setColor( label->backgroundRole(), Qt::transparent );
label->setPalette( palette );
Записан
pitekantrop
Гость
« Ответ #32 : Январь 26, 2010, 11:30 »

Помогло тупо выставление setAutoFillBackground(false) для самой QLabel и для видгета, на который она выводилась..
Записан
pitekantrop
Гость
« Ответ #33 : Январь 26, 2010, 11:47 »

А нет, не помогло.. ) Оказывается, при отображении над объектом типа QWidget альфаканал действительно работает, но при отображении картинки поверх видео он игнорируется.. Похоже, просто извращениями с Qt тут не обойтись.. )
« Последнее редактирование: Январь 26, 2010, 11:57 от pitekantrop » Записан
SABROG
Гость
« Ответ #34 : Январь 26, 2010, 12:44 »

А нет, не помогло.. ) Оказывается, при отображении над объектом типа QWidget альфаканал действительно работает, но при отображении картинки поверх видео он игнорируется.. Похоже, просто извращениями с Qt тут не обойтись.. )

Видео через phonon выводится?
Записан
pitekantrop
Гость
« Ответ #35 : Январь 26, 2010, 13:53 »

через DirectShow
Записан
SABROG
Гость
« Ответ #36 : Январь 26, 2010, 14:22 »

через DirectShow

Имхо с этого и надо было начинать. Окно DirectShow не Qt'шное ведь? Тут максимум что можно попытаться сделать - создать top level widget с флагом Qt::FramelessWindowHint и рисовать на него свою картинку с альфаканалом. Не факт, что будет работать, но попробовать можно.
Записан
pitekantrop
Гость
« Ответ #37 : Январь 26, 2010, 14:41 »

Имхо с этого и надо было начинать. Окно DirectShow не Qt'шное ведь? Тут максимум что можно попытаться сделать - создать top level widget с флагом Qt::FramelessWindowHint и рисовать на него свою картинку с альфаканалом. Не факт, что будет работать, но попробовать можно.
Qt'шное, но альфаканал на нем все равно почему-то не работает..
Записан
SABROG
Гость
« Ответ #38 : Январь 26, 2010, 15:00 »

Qt не умеет создавать DirectShow окна, только phonon.
Записан
pitekantrop
Гость
« Ответ #39 : Январь 26, 2010, 16:13 »

Qt не умеет создавать DirectShow окна, только phonon.
создаем мы и вставляем в объект типа QMdiSubWindow, растянутое на весь экран
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


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