I am building a browser with python using pyqt5. I enabled fullscreen support and also enabled plugins,
self.webView.page().fullScreenRequested.connect(self.handleFullscreenRequest)
QWebEngineSettings.globalSettings().setAttribute(QWebEngineSettings.PluginsEnabled, True)
QWebEngineSettings.globalSettings().setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)
As you can also see that I connected fullscreenrRequested signal to a function called self.handleFullscreenRequest . Here is the function,
def handleFullscreenRequest(self, request):
print("requested")
if(request.toggleOn()):
request.accept()
self.gridLayout.removeWidget(self.webView)
self.webView.setParent(None, QtCore.Qt.Window)
self.webView.showFullScreen()
else:
request.accept()
self.gridLayout.addWidget(self.webView)
Result:
- It works very well with youtube videos, facebook videos. Videos get full screen when requested.
Problems:
- It doesn't work for videos of some websites including dailymotion. Video plays but never gets full screened.
- I think it doesn't event emits the fullScreenRequested signal, as nothing is printed from handleFullscreenRequest() function in the console.
I want videos from any website to play in fullscreen mode if requested. Help me geeks please.