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日

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂