paint.exe 2023-03-19 21:32 采纳率: 75%
浏览 57
已结题

我想要做一个非常简单的qt界面,可是代码一切正常,他却报错:AttributeError: 'W' object has no attribute 'objectName如何解决?

我想要做一个非常简单的qt界面,可是代码一切正常,他却报错:
AttributeError: 'W' object has no attribute 'objectName'
我之前做过一个类似的,都没有问题。
代码如下:(出问题的)

from ui_window import Ui_MainWindow
from PySide2.QtWidgets import *
from PySide2.QtCore import *
import sys


class W(Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.ui = Ui_MainWindow
        self.setupUi(self)
        self.show()
        self.text = ""
        self.ui.pb_zz.clicked.connect(get_cb)

    def get_cb(self):
        self.text = self.cb_zz.currentText()
        print(self.text)


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

我想应该是父类没有被正确继承。
附件:(ui的py文件)

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.cb_zz = QComboBox(self.centralwidget)
        self.cb_zz.addItem("")
        self.cb_zz.addItem("")
        self.cb_zz.setObjectName(u"cb_zz")

        self.verticalLayout.addWidget(self.cb_zz)

        self.le_zz = QLineEdit(self.centralwidget)
        self.le_zz.setObjectName(u"le_zz")

        self.verticalLayout.addWidget(self.le_zz)

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

        self.verticalLayout.addWidget(self.lb_xg)

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

        self.verticalLayout.addWidget(self.pb_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.cb_zz.setItemText(0, QCoreApplication.translate("MainWindow", u"\u7ecf\u5178\u8bc5\u5492", None))
        self.cb_zz.setItemText(1, QCoreApplication.translate("MainWindow", u"\u81ea\u5b9a\u4e49\u8bc5\u5492\u8bed", None))

        self.le_zz.setText(QCoreApplication.translate("MainWindow", u"\u5982\u679c\u9009\u62e9\u7ecf\u5178\u8bc5\u5492\uff0c\u8bf7\u5728\u8fd9\u91cc\u8f93\u5165\u8bc5\u5492\u8bed", None))
        self.lb_xg.setText(QCoreApplication.translate("MainWindow", u"\u6548\u679c", None))
        self.pb_zz.setText(QCoreApplication.translate("MainWindow", u"\u751f\u6210\u5e76\u4fdd\u5b58", None))
    # retranslateUi

附件2:(完整错误信息)

Traceback (most recent call last):
  File "C:\Users\2387749550\Desktop\Python代码\高级版\诅咒创新版\alpha 0.5\诅咒创新版 alpha 0.5.py", line 25, in <module>
    window = W()
  File "C:\Users\2387749550\Desktop\Python代码\高级版\诅咒创新版\alpha 0.5\诅咒创新版 alpha 0.5.py", line 15, in __init__
    self.setupUi(self)
  File "C:\Users\2387749550\Desktop\Python代码\高级版\诅咒创新版\alpha 0.5\ui_window.py", line 18, in setupUi
    if not MainWindow.objectName():
AttributeError: 'W' object has no attribute 'objectName'
  • 写回答

4条回答 默认 最新

  • threenewbee 2023-03-19 21:37
    关注

    MainWindow.objectName
    看看这里有没有objectName

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月20日
  • 修改了问题 3月20日
  • 赞助了问题酬金15元 3月20日
  • 修改了问题 3月19日
  • 展开全部

悬赏问题

  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)
  • ¥15 如何在arcgis中导出拓扑关系表
  • ¥15 处理数据集文本挖掘代码
  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41
  • ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库
  • ¥20 求:怎么实现qt与pcie通信
  • ¥50 前后端数据顺序不一致问题,如何解决?(相关搜索:数据结构)
  • ¥15 基于蒙特卡罗法的中介效应点估计代码
  • ¥15 罗技G293和UE5.3