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

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日

悬赏问题

  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法