我是初学者,我试图按照教程制作一个简单的网络浏览器。当我运行代码时,没有错误,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_()
我查看了代码,没有发现任何错误,所以什么也没有显示。好像没有添加小部件或其他东西。我不确定。
感谢您的帮助!
您没有实例化 MyWebBrowser。你忘了括号:
window = MyWebBrowser()