c++ - 在qt中的gstreamer视频上覆盖小部件

标签 c++ qt gstreamer

我已经使用 gst_x_overlay_set_xwindow_id() 将 gstreamer 连接到 QWidget,并在 QWidget 上获取视频。我们如何在这个透明视频的顶部覆盖另一个小部件(例如按钮、组合框)。这样按钮就会打开QWidget 中视频的顶部

最佳答案

这取决于平台以及用于视频的接收器。大多数接收器完全使用提供的小部件来渲染视频。因此,您应该在渲染视频的小部件的 show() 之后创建另一个小部件并显示()它。视频将被顶部小部件覆盖。

对于第二个小部件,您需要添加以下标志:

setAttribute(Qt::WA_TranslucentBackground);
setStyleSheet("background:transparent;");

如果你想使用一个 QWidget,你也可以尝试使用接收器的颜色键来欺骗。但这取决于您使用的水槽。

关于c++ - 在qt中的gstreamer视频上覆盖小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6330189/

相关文章:

c++ - 并非所有函数都使用 dllexport 导出

C++:排序/字母排序方法

python - PySide 如何获取 QWebInspector 相同的窗口

c++ - 使用 v4l2scr 重启 gstreamer 管道的正确方法

c++ - 将元组转换为对

c++ - C++ cin.getline忽略空行

qt - QSslCertificate::importPkcs12 无法解析 PFX 文件

c++ - 在 QML 上异步更新多个 QQuickPaintedItem

linux - 下沉到虚拟 v4l2 设备

c++ - 是否有适用于 GStreamer 的图形生成器?