PyQt5 QWebEngineView 不显示任何内容

问题描述

所以我正在使用 PyQt5 和 QtWebEngineView 构建一个简单的 Web 浏览器,它工作正常,但是当我在地址栏中键入内容并按 Enter 键时,当前页面会更改但输入的网址未加载,屏幕显示保持空白。

它也不适用于 https://

"""A Simple Web Browser Written in Python and PyQt5"""

import sys

from PyQt5.QtCore import QUrl
from PyQt5.QtGui import QIcon
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication,QMainWindow,QToolBar,QAction,QLineEdit


class PyChromeWindow(QMainWindow):
    DEFAULT_SEARCH_ENGINE = QUrl("https://www.google.com")

    def __init__(self):
        super(PyChromeWindow,self).__init__()
        self.browser = QWebEngineView(self)
        self.browser.setUrl(self.DEFAULT_SEARCH_ENGINE)

        # ToolBar
        self.browser_tool_bar = QToolBar()
        self.addToolBar(self.browser_tool_bar)

        # Back Action
        self.back_btn = QAction(QIcon('./resources/back_arrow16px.png'),'Back')
        self.back_btn.triggered.connect(self.browser.back)
        self.browser_tool_bar.addAction(self.back_btn)

        # Forward Action
        self.forward_action = QAction(QIcon('./resources/forward_arrow16px.png'),'Forward')
        self.forward_action.triggered.connect(self.browser.forward)
        self.browser_tool_bar.addAction(self.forward_action)

        # Refresh Action
        self.refresh_action = QAction(QIcon('./resources/refresh_icon16px.png'),'Refresh')
        self.refresh_action.triggered.connect(self.browser.reload)
        self.browser_tool_bar.addAction(self.refresh_action)

        # Home Action
        self.home_action = QAction(QIcon('./resources/home_icon16px.png'),'Home')
        self.home_action.triggered.connect(lambda: self.browser.setUrl(self.DEFAULT_SEARCH_ENGINE))
        self.browser_tool_bar.addAction(self.home_action)

        # Address Bar
        self.address_bar = QLineEdit()
        self.address_bar.returnPressed.connect(self.navigate_to_url)
        self.browser_tool_bar.addWidget(self.address_bar)

        self.setCentralWidget(self.browser)
        self.showMaximized()

    def navigate_to_url(self):
        """Navigate to a specific URL"""
        url = QUrl(self.address_bar.text())
        self.browser.load(url)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    app.setApplicationName("PyChrome")
    window = PyChromeWindow()
    app.exec_()

Screen Remains Blank

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)