PyQt5: "Полноэкранный режим недоступен", встраивание видео YouTube в виде iframe в QWebEngineView
Я пытаюсь встроить видео YouTube в QWebEngineView, видео загружается нормально, но полноэкранная кнопка отключена с этим сообщением "Полноэкранный режим недоступен", даже при том, что код для вставки имеет "allowfullscreen"
Фрагмент кода:
web = QWebEngineView()
htmlString = """
<iframe width="560" height="315" src="https://www.youtube.com/embed/L0MK7qz13bU?rel=0&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&showinfo=0" frameborder="0" allowfullscreen></iframe>
"""
web.setHtml(htmlString, QUrl(baseUrl))
web.show()
sys.exit(app.exec_())
Скриншот: