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

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 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥15 一个小问题,本人刚入门,哪位可以help
  • ¥30 python安卓开发
  • ¥15 使用R语言GD包一直不出结果