1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
"""PySide6 port of the Qt WebEngineWidgets Simple Browser example from Qt v6.x"""
import sys
from argparse import ArgumentParser, RawTextHelpFormatter
from PySide6.QtWebEngineCore import QWebEngineProfile, QWebEngineSettings
from PySide6.QtWidgets import QApplication
from PySide6.QtGui import QIcon
from PySide6.QtCore import QCoreApplication, QLoggingCategory, QUrl
from browser import Browser
import data.rc_simplebrowser # noqa: F401
if __name__ == "__main__":
parser = ArgumentParser(description="Qt Widgets Web Browser",
formatter_class=RawTextHelpFormatter)
parser.add_argument("--single-process", "-s", action="store_true",
help="Run in single process mode (trouble shooting)")
parser.add_argument("url", type=str, nargs="?", help="URL")
args = parser.parse_args()
QCoreApplication.setOrganizationName("QtExamples")
app_args = sys.argv
if args.single_process:
app_args.extend(["--webEngineArgs", "--single-process"])
app = QApplication(app_args)
app.setWindowIcon(QIcon(":AppLogoColor.png"))
QLoggingCategory.setFilterRules("qt.webenginecontext.debug=true")
s = QWebEngineProfile.defaultProfile().settings()
s.setAttribute(QWebEngineSettings.PluginsEnabled, True)
s.setAttribute(QWebEngineSettings.DnsPrefetchEnabled, True)
browser = Browser()
window = browser.create_hidden_window()
url = QUrl.fromUserInput(args.url) if args.url else QUrl("https://www.qt.io")
window.tab_widget().set_url(url)
window.show()
sys.exit(app.exec())
|