PyQt5: "Полноэкранный режим недоступен", встраивание видео 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))

1 ответ

Решение

Чтобы включить полноэкранный режим, необходимо включить атрибут FullScreenSupportEnabled и принять полный порядок страниц на странице.

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_())

Скриншот:

Другие вопросы по тегам