可以使用以下方法设置铬标志(参见文档):
作为参数传递给 QApplication:
args = ["--foo-arg=foo-value", "--bar-arg=bar-value"]
app = QtWidgets.QApplication(args)
# or
# app = QtWidgets.QApplication(sys.argv + args)
通过环境变量设置它QTWEBENGINE_CHROMIUM_FLAGS
:
import os
os.environ["QTWEBENGINE_CHROMIUM_FLAGS"] = "--foo-arg=foo-value --bar-arg=bar-value"
app = QtWidgets.QApplication(sys.argv)
因此,您的尝试是正确的,但问题似乎是 Qt WebEngine 并不支持所有 chromium 标志,而--enable-force-dark
. 在网上搜索我发现这篇文章提供了另一种选择:--blink-settings=darkMode=4,darkModeImagePolicy=2
from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets
if __name__ == "__main__":
import os
import sys
os.environ[
"QTWEBENGINE_CHROMIUM_FLAGS"
] = "--blink-settings=darkMode=4,darkModeImagePolicy=2"
app = QtWidgets.QApplication(sys.argv)
# or
# args = sys.argv + ["--blink-settings=darkMode=4,darkModeImagePolicy=2"]
# app = QtWidgets.QApplication(sys.argv + args)
view = QtWebEngineWidgets.QWebEngineView()
view.load(QtCore.QUrl("https://www.google.com"))
view.show()
sys.exit(app.exec_())