无法在LibVLC使用的QWidget上覆盖透明Qlabel

时间:2015-05-09 23:15:41

标签: qt transparency qwidget libvlc qlabel

我向LibVLC用户提出一个问题,那就是我整天都在苦苦挣扎,但还是找不到解决方案,所以想请求你帮忙。

我有一个使用LibVLC播放视频和视频流的Qt应用程序。您可能知道,LibVLC使用Qt小部件通过仅获取Qwidget的WinID并处理其余部分来呈现视频帧。我有一个Qwidget来使用LibVLC渲染视频,我希望在这个小部件上覆盖一个透明的Qlabel,但是当小部件开始显示视频时,标签不能是透明的,并且在背景中保留最后一个覆盖的东西。视频开始播放。

对我来说这是一个LibVLC问题,我确信有一个解决方案但到目前为止无法在网上找到解决方法。

为什么会发生这种情况以及如何避免?

提前致谢。

1 个答案:

答案 0 :(得分:1)

将这些属性和标志添加到所需的Qlabel解决了我的问题。

labelCamName->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
labelCamName->setAttribute(Qt::WA_TranslucentBackground);