“全屏不可用”将YouTube视频作为iframe嵌入QWebEngineView中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“全屏不可用”将YouTube视频作为iframe嵌入QWebEngineView中相关的知识,希望对你有一定的参考价值。

我正在尝试将YouTube视频嵌入QWebEngineView中,视频加载正常,但全屏按钮已禁用,并显示以下消息:“全屏不可用”,即使嵌入的代码确实具有“ allowfullscreen”

代码段:

web = QWebEngineView()
htmlString = """
            <iframe width="560" height="315" src="https://www.youtube.com/embed/L0MK7qz13bU?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
             """
web.setHtml(htmlString, QUrl(baseUrl))
答案

要启用全屏,必须启用FullScreenSupportEnabled属性并接受页面的fullScreenRequested顺序。

if __name__ == '__main__':
    app = QApplication(sys.argv)
    web = QWebEngineView()
    web.settings().setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)
    web.page().fullScreenRequested.connect(lambda request: request.accept())
    baseUrl = "local"
    htmlString = """
            <iframe width="560" height="315" src="https://www.youtube.com/embed/L0MK7qz13bU?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
             """
    web.setHtml(htmlString, QUrl(baseUrl))

    web.show()
    sys.exit(app.exec_())

截屏:

enter image description here

以上是关于“全屏不可用”将YouTube视频作为iframe嵌入QWebEngineView中的主要内容,如果未能解决你的问题,请参考以下文章

Youtube Iframe Api 获取视频标题

如何将 YouTube 视频添加为 <video> 而不是嵌入的 <iframe>?

我无法在带有 youtube 视频的 iframe 中添加样式

单击 mp4 视频开始/播放嵌入式 (iframe) youtube 视频

为啥同位素会混淆点击 iFrame?

通过 iframe 嵌入的 YouTube 视频忽略 z-index?