Название: Не работает прозрачность у QWidget, расположенного над QVideoWidget Отправлено: mafia_al от Май 13, 2017, 13:05 Всем привет!
Реализовывал следующую задачу (Qt 5.8.0, компилер студийный 2015): Мне нужно разместить над идущим видео полупрозрачную панельку с информацией о текущем видео. Видео я вывожу при помощи QMediaPlayer в QVideoWidget. Панель - мой собственный виджет, отнаследованный от QFrame. Код: class FrameInfoWidget : public QFrame Но столкнулся с проблемой: Моя панель над видео не хочет быть прозрачной!!! (http://ipic.su/img/img7/fs/problem1.1494669617.png) Как видно, над прочими виджетами панель прозрачна, а над видео потоком нет. Экспериментировал с разными типами для setAttribute не помогло :( Кто-нибудь знает, в чём дело и как это обойти? Название: Re: Не работает прозрачность у QWidget, расположенного над QVideoWidget Отправлено: mafia_al от Май 13, 2017, 17:03 Прозрачность сделать получилось, заменив QVideoWidget на QGraphicsVideoItem.
Но появился другой неприятный момент: исчезло сглаживание у видео :( (http://ipic.su/img/img7/fs/problem2.1494684042.png) Название: Re: Не работает прозрачность у QWidget, расположенного над QVideoWidget Отправлено: mafia_al от Май 13, 2017, 17:23 Сглаживание сделать оказалось просто. Для QGraphicsView надо было задать соответствующие опции.
Код: mVideoView->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing); Проблема решена. Название: Re: Не работает прозрачность у QWidget, расположенного над QVideoWidget Отправлено: gil9red от Май 14, 2017, 00:29 Вы молодцы :)
|