我想要做一个非常简单的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'