Я программирую веб-браузер на Python, используя PySide2. Я хочу сделать полноэкранный режим.
Я включил его с помощью self.browser.settings().setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)
и после этого я подключил запрос с помощью команды self.browser.page().fullScreenRequested.connect(self.fullScreen)
Моя функция включения полноэкранного режима
def fullScreen(self, request):
request.accept()
if request.toggleOn():
self.browser.showFullScreen()
else:
self.setCentralWidget(self.browser)
Я пытался удалить request.accept()
, но когда я его удаляю, он не вызывает sh, но не включает полноэкранный режим на YouTube.
Вот полный код.
from PySide2.QtCore import *
from PySide2.QtCore import Slot
from PySide2.QtWidgets import *
from PySide2.QtGui import *
from PySide2.QtWebEngineWidgets import *
import sys
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow,self).__init__(*args, **kwargs)
self.setWindowTitle("Browser")
self.browser = QWebEngineView()
self.browser.load(QUrl("https://google.com"))
self.browser.settings().setAttribute(QWebEngineSettings.PluginsEnabled, True)
self.browser.settings().setAttribute(QWebEngineSettings.LocalStorageEnabled, True)
self.browser.settings().setAttribute(QWebEngineSettings.JavascriptEnabled, True)
self.browser.settings().setAttribute(QWebEngineSettings.AutoLoadImages, True)
self.browser.settings().setAttribute(QWebEngineSettings.AutoLoadIconsForPage, True)
self.browser.settings().setAttribute(QWebEngineSettings.JavascriptCanOpenWindows, True)
self.browser.settings().setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)
self.browser.page().fullScreenRequested.connect(self.fullScreen)
self.setCentralWidget(self.browser)
self.show()
@Slot(bool)
def fullScreen(self, request):
request.accept()
if request.toggleOn():
self.browser.showFullScreen()
else:
self.browser.showNormal()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
Спасибо за любой ответ!