Как QtWebEngine научить сайты применять тему оформления как в системе?
Например youtube.com, в системе стоит темная тема, а сайт светлый:
main.py
import sys
from PySide6.QtCore import QUrl
from PySide6.QtWebEngineWidgets import QWebEngineView
from PySide6.QtWidgets import (QApplication, QMainWindow)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Web')
self.webEngineView = QWebEngineView()
self.setCentralWidget(self.webEngineView)
self.webEngineView.load(QUrl('https://youtube.com'))
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = MainWindow()
availableGeometry = mainWin.screen().availableGeometry()
mainWin.resize(availableGeometry.width() * 2 / 3, availableGeometry.height() * 2 / 3)
mainWin.show()
sys.exit(app.exec())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
import sys
'''
from PySide6.QtCore import QUrl # PySide6
from PySide6.QtWebEngineWidgets import QWebEngineView
from PySide6.QtWidgets import (QApplication, QMainWindow)
'''
from PyQt5.QtCore import QUrl # PyQt5
from PyQt5.QtWebEngineWidgets import QWebEngineView, \
QWebEngineSettings, QWebEnginePage, QWebEngineProfile # +++
from PyQt5 .QtWidgets import (QApplication, QMainWindow)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Web')
profile = QWebEngineProfile(self) # +++
webpage = QWebEnginePage(profile, self) # +++
self.webEngineView = QWebEngineView(self)
self.webEngineView.setPage(webpage) # +++
self.webEngineView.settings().setAttribute(
QWebEngineSettings.PluginsEnabled, True)
self.setCentralWidget(self.webEngineView)
self.webEngineView.load(QUrl('https://youtube.com'))
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = MainWindow()
availableGeometry = mainWin.screen().availableGeometry()
mainWin.resize(
availableGeometry.width() * 2 / 3,
availableGeometry.height() * 2 / 3
)
mainWin.show()
sys.exit(app.exec())
