运行时没有错误,但什么也没有显示。这段代码有什么问题?

问题描述 投票:0回答:1

我是初学者,我试图按照教程制作一个简单的网络浏览器。当我运行代码时,没有错误,python 打开但屏幕上没有显示任何内容。我正在使用 PyCharm。这是代码:

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import *


class MyWebBrowser():

    def __init__(self):
        self.window = QWidget()
        self.window.setWindowTitle("swells browser")

        self.layout = QVBoxLayout()
        self.horizontal = QHBoxLayout()

        self.url_bar = QTextEdit()
        self.url_bar.setMaximumHeight(30)

        self.go_button = QPushButton("Go!")
        self.go_button.setMinimumHeight(30)

        self.back_button = QPushButton("Back")
        self.back_button.setMinimumHeight(30)

        self.forward_button = QPushButton("Forward")
        self.forward_button.setMinimumHeight(30)

        self.horizontal.addWidget(self.url_bar)
        self.horizontal.addWidget(self.go_button)
        self.horizontal.addWidget(self.back_button)
        self.horizontal.addWidget(self.forward_button)

        self.browser = QWebEngineView()

        self.go_button.clicked.connect(lambda: navigate(self.url_bar.toPlainText()))
        self.back_button.clicked.connect(self.browser.back)
        self.forward_button.clicked.connect(self.browser.forward)

        self.layout.addLayout(self.horizontal)
        self.layout.addWidget(self.browser)

        self.browser.setUrl(QUrl("http://google.com"))

        self.window.setLayout(self.layout)
        self.window.show()

        def navigate(self, url):
            if not url.startswith("http"):
                url = "http://" + url
                self.url_bar.setText(url)
                self.browser.setUrl(Qurl(url))


app = QApplication([])
window = MyWebBrowser
app.exec_()

我查看了代码,没有发现任何错误,所以什么也没有显示。好像没有添加小部件或其他东西。我不确定。

感谢您的帮助!

python browser pyqt5
1个回答
0
投票

您没有实例化 MyWebBrowser。你忘了括号:

window = MyWebBrowser()

© www.soinside.com 2019 - 2024. All rights reserved.