from PySide2.QtWidgets import QApplication,QMainWindow from ui_main import Ui_MainWindow from PySide2.QtCore import QUrl class MainWindow(QMainWindow): def __init__(self): super().__init__() # 使用ui文件导入定义界面类 self.ui = Ui_MainWindow() # 初始化界面 self.ui.setupUi(self) # 使用界面定义的控件,也是从ui里面访问 self.ui.webview.load(QUrl('about:blank')) self.ui.webview.page().setViewportSize(self.ui.webview.size()) self.ui.webview.load(QUrl('http://www.python3.vip/')) app = QApplication([]) mainw = MainWindow() mainw.show() app.exec_(),上述代码提示错误AttributeError: 'PySide2.QtWebEngineWidgets.QWebEnginePage' object has no attribute 'setViewportSize'
时间: 2024-03-14 11:49:15 浏览: 174
3d_pyside2_qt3d_sssssss11111_QT_3d_
抱歉,我犯了一个错误。在使用 `PySide2.QtWebEngineWidgets.QWebEnginePage` 的 `setViewportSize()` 方法之前需要先获得一个 `QWebEngineView` 对象的页面,因为 `setViewportSize()` 是 `QWebEngineView` 的方法。可以将代码更改为以下内容:
```
from PySide2.QtWidgets import QApplication,QMainWindow from ui_main import Ui_MainWindow from PySide2.QtCore import QUrl class MainWindow(QMainWindow): def __init__(self): super().__init__() # 使用ui文件导入定义界面类 self.ui = Ui_MainWindow() # 初始化界面 self.ui.setupUi(self) # 使用界面定义的控件,也是从ui里面访问 self.ui.webview.load(QUrl('about:blank')) # 获取页面对象 page = self.ui.webview.page() # 设置页面大小 page.setViewportSize(self.ui.webview.size()) self.ui.webview.load(QUrl('http://www.python3.vip/')) app = QApplication([]) mainw = MainWindow() mainw.show() app.exec_()
```
请注意,这里使用了 `self.ui.webview.page()` 方法获取页面对象,然后再调用 `setViewportSize()` 方法设置页面大小。我希望这次能够解决问题。
阅读全文