PyQt5设置url后仍报Parameter 'url' unfilled错误如何解决
错误原因
报错的核心原因是两处Qt类实例化时遗漏了括号,没有创建实际的对象实例,而是直接将类本身赋值给了变量:
self.browser = QWebEngineView仅引用了QWebEngineView类,没有通过()调用构造方法生成实例。后续调用setUrl()时,相当于未绑定实例直接调用类方法,缺少隐式传入的self参数,最终触发"Parameter 'url' unfilled"报错。window = MainWindow存在同样的问题,即使修复前一处错误,这里也会导致主窗口无法正常创建,程序运行后会直接退出。
修复方案
给两处实例化语句补上括号,正确创建类实例即可。修复后的完整代码如下:
import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtWebEngineWidgets import * class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.browser = QWebEngineView() self.browser.setUrl(QUrl("http://google.com")) self.setCentralWidget(self.browser) self.showMaximized() app = QApplication(sys.argv) QApplication.setApplicationName('Browser') window = MainWindow() app.exec_()
补充说明:如果运行后页面无法加载,是网络环境原因导致无法访问Google,可将URL替换为可正常访问的地址测试,不属于代码错误。
内容的提问来源于stack exchange,提问作者melone
相关产品推荐
相关产品推荐

