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

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 workstation加载centos进入emergency模式,查看日志报警如图,怎样解决呢?
  • ¥50 如何用单纯形法寻优不能精准找不到给定的参数,并联机构误差识别,给定误差有7个?matlab
  • ¥15 workstation加载centos进入emergency模式,查看日志报警如图,没有XFS,怎样解决呢?
  • ¥15 应用商店如何检测在架应用内容是否违规?
  • ¥15 Ubuntu系统配置PX4
  • ¥50 nw.js调用activex
  • ¥15 数据库获取信息反馈出错,直接查询了ref字段并且还使用了User文档的_id而不是自己的
  • ¥15 将安全信息用到以下对象时发生以下错误:c:dumpstack.log.tmp 另一个程序正在使用此文件,因此无法访问
  • ¥15 速度位置规划实现精确定位的问题
  • ¥15 MAC虚拟机(win11)USB插上后无串口com,无法烧录