paint.exe 2023-03-11 16:26 采纳率: 75%
浏览 55
已结题

PySide2:Python报错AttributeError: 'W' object has no attribute 'setupUi'

在学习qt时遇到了报错:AttributeError: 'W' object has no attribute 'setupUi'
检查了几次,不知道哪里错
代码:


```python
import sys

import PySide2.QtWidgets
from ui_window import Ui_MainWindow


class W(PySide2.QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.pbtn_zz.clicked.connect(self.select_file)

    def select_file(self):
        self.xg_lb.setText("测试成功")


if __name__ == "__main__":
    app = PySide2.QtWidgets.QApplication(sys.argv)
    window = W()
    sys.exit(app.exec_())

ui_window的代码:




```python

from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        if not MainWindow.objectName():
            MainWindow.setObjectName(u"MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QWidget(MainWindow)
        self.centralwidget.setObjectName(u"centralwidget")
        self.verticalLayout = QVBoxLayout(self.centralwidget)
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.le_sr = QLineEdit(self.centralwidget)
        self.le_sr.setObjectName(u"le_sr")

        self.verticalLayout.addWidget(self.le_sr)

        self.xg_lb = QLabel(self.centralwidget)
        self.xg_lb.setObjectName(u"xg_lb")

        self.verticalLayout.addWidget(self.xg_lb)

        self.pbtn_zz = QPushButton(self.centralwidget)
        self.pbtn_zz.setObjectName(u"pbtn_zz")

        self.verticalLayout.addWidget(self.pbtn_zz)

        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QStatusBar(MainWindow)
        self.statusbar.setObjectName(u"statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)

        QMetaObject.connectSlotsByName(MainWindow)
    # setupUi

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
        self.xg_lb.setText(QCoreApplication.translate("MainWindow", u"\u6548\u679c", None))
        self.pbtn_zz.setText(QCoreApplication.translate("MainWindow", u"\u5f00\u59cb\u8bc5\u5492", None))
    # retranslateUi

  • 写回答

1条回答 默认 最新

  • VenYy 2023-03-11 16:29
    关注
    def __init__(self):
            super().__init__()
            self.ui = Ui_MainWindow()   # 实例化 UI_MainWindow 类
            self.ui.setupUi(self) 
            self.show()
            self.pbtn_zz.clicked.connect(self.select_file)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月15日
  • 已采纳回答 3月11日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵