Как 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())
→ Ссылка