PIXEL-TAPE 发表于 2023-4-4 22:23:34

求助,关于pyside6内置浏览器

代码如下:
from PySide6.QtWidgets import QApplication,QMainWindow,QWidget
from PySide6.QtWebEngineWidgets import QWebEngineView
from web import Ui_Form
class MyWindow(QWidget,Ui_Form):
    def __init__(self):
      super().__init__()
      self.ui=Ui_Form()
      self.ui.setupUi(self)
      self.ui.webview.load('wwwbaiducom/')#这里不能发完整URL

if __name__=='__main__':
    app=QApplication([])
    window=MyWindow()
   
    window.show()
    app.exec()

报错如下:
Traceback (most recent call last):
File "C:\Users\Pixel\Desktop\文档\pythonlearn\pyqt-test1.py", line 13, in <module>
    window=MyWindow()
File "C:\Users\Pixel\Desktop\文档\pythonlearn\pyqt-test1.py", line 9, in __init__
    self.ui.webview.load('wwwbaiducom/')
AttributeError: 'Ui_Form' object has no attribute 'webview'

isdkz 发表于 2023-4-4 22:35:05

根据您的代码,您应该将 self.ui.webview 改为 self.ui.widget,

因为 Ui_Form 中的 WebView 组件实际上被命名为 widget,而不是 webview。此外,

您也需要使用完整的 URL 而不是缺少协议前缀的 URL(例如 http:// 或 https://)。

以下是修改后的代码示例:

from PySide6.QtWidgets import QApplication, QMainWindow, QWidget
from PySide6.QtWebEngineWidgets import QWebEngineView
from web import Ui_Form

class MyWindow(QWidget, Ui_Form):
    def __init__(self):
      super().__init__()
      self.ui = Ui_Form()
      self.ui.setupUi(self)
      self.ui.widget.load("http://www.baidu.com") # 使用完整的 URL

if __name__ == '__main__':
    app = QApplication([])
    window = MyWindow()
    window.show()
    app.exec()

希望这可以解决您的问题。

PIXEL-TAPE 发表于 2023-4-4 22:48:37

isdkz 发表于 2023-4-4 22:35
根据您的代码,您应该将 self.ui.webview 改为 self.ui.widget,

因为 Ui_Form 中的 WebView 组件实际上 ...

大佬,我copy你的代码还是不能运行。
报错如下:
Traceback (most recent call last):
File "C:\Users\Pixel\Desktop\文档\pythonlearn\pyqt-test1.py", line 14, in <module>
    window = MyWindow()
File "C:\Users\Pixel\Desktop\文档\pythonlearn\pyqt-test1.py", line 10, in __init__
    self.ui.widget.load("wwwbaiducom") # 论坛不让我发完整URL
AttributeError: 'Ui_Form' object has no attribute 'widget'
页: [1]
查看完整版本: 求助,关于pyside6内置浏览器