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

Can not overlay a transparent Qlabel on a QWidget that LibVLC uses

我有一个问题要问 LibVLC 用户,我一直在苦苦挣扎一整天,但还没有找到解决方案,所以想向您寻求帮助。

我有一个使用 LibVLC 播放视频、视频流的 Qt 应用程序。您可能知道,LibVLC 使用 Qt 小部件通过仅获取 Qwidget 的 WinID 来渲染视频帧,并自行处理其余部分。我有一个 Qwidget 可以用 LibVLC 渲染视频,我想在这个小部件上覆盖一个透明的 Qlabel 但是当小部件开始显示视频时,标签不能是透明的并且与背景保持一致,它在视频开始播放。

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

关于为什么会发生这种情况以及如何避免的任何建议?

提前致谢。

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

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