在Qt中叠加小部件于Gstreamer视频上

4

我已经使用gst_x_overlay_set_xwindow_id()将gstreamer连接到QWidget,并在QWidget上获取视频。如何在这个透明的视频上叠加另一个小部件(例如pushbutton,combobox),使得按钮位于QWidget上的视频顶部。

1个回答

0

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

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

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

如果您想只使用一个QWidget,也可以尝试通过sink的colorkey来进行调整。但这取决于您使用的sink。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接