Python 初学者错误

Python Beginners error

我真的有这个 "big" 代码

class ClassePrincipal(object):

    def __init__(self):

        super(self.__class__, self).__init__()
        self.setupUi(self)

    def setupUi(self, MainWindow):
        MainWindow.setObjectName
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(464, 501)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.scrollArea = QtWidgets.QScrollArea(self.centralwidget)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 427, 719))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents)
        self.gridLayout.setObjectName("gridLayout")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.lineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit.setObjectName("lineEdit")
        self.verticalLayout.addWidget(self.lineEdit)
        self.label_2 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.verticalLayout.addWidget(self.lineEdit_2)
        self.label_3 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_3.setObjectName("label_3")
        self.verticalLayout.addWidget(self.label_3)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.verticalLayout.addWidget(self.lineEdit_3)
        self.label_4 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_4.setObjectName("label_4")
        self.verticalLayout.addWidget(self.label_4)
        self.lineEdit_4 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.verticalLayout.addWidget(self.lineEdit_4)
        self.label_5 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_5.setObjectName("label_5")
        self.verticalLayout.addWidget(self.label_5)
        self.lineEdit_5 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.verticalLayout.addWidget(self.lineEdit_5)
        self.label_6 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_6.setObjectName("label_6")
        self.verticalLayout.addWidget(self.label_6)
        self.lineEdit_6 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_6.setObjectName("lineEdit_6")
        self.verticalLayout.addWidget(self.lineEdit_6)
        self.label_7 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_7.setObjectName("label_7")
        self.verticalLayout.addWidget(self.label_7)
        self.dateEdit = QtWidgets.QDateEdit(self.scrollAreaWidgetContents)
        self.dateEdit.setObjectName("dateEdit")
        self.verticalLayout.addWidget(self.dateEdit)
        self.label_8 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_8.setObjectName("label_8")
        self.verticalLayout.addWidget(self.label_8)
        self.lineEdit_8 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_8.setObjectName("lineEdit_8")
        self.verticalLayout.addWidget(self.lineEdit_8)
        self.label_9 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_9.setObjectName("label_9")
        self.verticalLayout.addWidget(self.label_9)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.radioButton_4 = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
        self.radioButton_4.setObjectName("radioButton_4")
        self.horizontalLayout_3.addWidget(self.radioButton_4)
        self.radioButton_3 = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
        self.radioButton_3.setObjectName("radioButton_3")
        self.horizontalLayout_3.addWidget(self.radioButton_3)
        self.radioButton_2 = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
        self.radioButton_2.setObjectName("radioButton_2")
        self.horizontalLayout_3.addWidget(self.radioButton_2)
        self.radioButton = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
        self.radioButton.setObjectName("radioButton")
        self.horizontalLayout_3.addWidget(self.radioButton)
        self.verticalLayout.addLayout(self.horizontalLayout_3)
        self.label_10 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_10.setObjectName("label_10")
        self.verticalLayout.addWidget(self.label_10)
        self.lineEdit_7 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_7.setObjectName("lineEdit_7")
        self.verticalLayout.addWidget(self.lineEdit_7)
        self.label_11 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_11.setObjectName("label_11")
        self.verticalLayout.addWidget(self.label_11)
        self.textEdit = QtWidgets.QTextEdit(self.scrollAreaWidgetContents)
        self.textEdit.setObjectName("textEdit")
        self.verticalLayout.addWidget(self.textEdit)
        self.label_12 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label_12.setObjectName("label_12")
        self.verticalLayout.addWidget(self.label_12)
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.graphicsView = QtWidgets.QGraphicsView(self.scrollAreaWidgetContents)
        self.graphicsView.setObjectName("graphicsView")
        self.horizontalLayout_4.addWidget(self.graphicsView)
        self.pushButton = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
        self.pushButton.setObjectName("pushButton")
        self.horizontalLayout_4.addWidget(self.pushButton)
        self.verticalLayout.addLayout(self.horizontalLayout_4)
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.pushButton_2 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
        self.pushButton_2.setObjectName("pushButton_2")
        self.horizontalLayout_5.addWidget(self.pushButton_2)
        self.pushButton_3 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
        self.pushButton_3.setObjectName("pushButton_3")
        self.horizontalLayout_5.addWidget(self.pushButton_3)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.pushButton_4 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
        self.pushButton_4.setObjectName("pushButton_4")
        self.horizontalLayout_5.addWidget(self.pushButton_4)
        self.verticalLayout.addLayout(self.horizontalLayout_5)
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.pushButton_5 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
        self.pushButton_5.setObjectName("pushButton_5")
        self.horizontalLayout_6.addWidget(self.pushButton_5)
        self.comboBox = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
        self.comboBox.setObjectName("comboBox")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.horizontalLayout_6.addWidget(self.comboBox)
        self.lineEdit_9 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
        self.lineEdit_9.setObjectName("lineEdit_9")
        self.horizontalLayout_6.addWidget(self.lineEdit_9)
        self.verticalLayout.addLayout(self.horizontalLayout_6)
        self.gridLayout.addLayout(self.verticalLayout, 1, 0, 1, 1)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.gridLayout_2.addWidget(self.scrollArea, 0, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 464, 21))
        self.menubar.setObjectName("menubar")
        self.menuArquivos = QtWidgets.QMenu(self.menubar)
        self.menuArquivos.setObjectName("menuArquivos")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.actionSalvar = QtWidgets.QAction(MainWindow)
        self.actionSalvar.setObjectName("actionSalvar")
        self.actionClose = QtWidgets.QAction(MainWindow)
        self.actionClose.setObjectName("actionClose")
        self.actionClose_2 = QtWidgets.QAction(MainWindow)
        self.actionClose_2.setObjectName("actionClose_2")
        self.menuArquivos.addAction(self.actionSalvar)
        self.menuArquivos.addAction(self.actionClose)
        self.menuArquivos.addAction(self.actionClose_2)
        self.menubar.addAction(self.menuArquivos.menuAction())

        self.retranslateUi(MainWindow)
        self.actionClose_2.triggered.connect(MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "Nome do Solicitante"))
        self.label_2.setText(_translate("MainWindow", "CNPJ"))
        self.label_3.setText(_translate("MainWindow", "Email do Solicitante"))
        self.label_4.setText(_translate("MainWindow", "Razão Social"))
        self.label_5.setText(_translate("MainWindow", "Endereço do Solicitante"))
        self.label_6.setText(_translate("MainWindow", "Endereço do Serviço"))
        self.label_7.setText(_translate("MainWindow", "Data"))
        self.label_8.setText(_translate("MainWindow", "Valor so Serviço"))
        self.label_9.setText(_translate("MainWindow", "Forma de Pagamento"))
        self.radioButton_4.setText(_translate("MainWindow", "RadioButton"))
        self.radioButton_3.setText(_translate("MainWindow", "RadioButton"))
        self.radioButton_2.setText(_translate("MainWindow", "RadioButton"))
        self.radioButton.setText(_translate("MainWindow", "RadioButton"))
        self.label_10.setText(_translate("MainWindow", "Equipamentos Usados"))
        self.label_11.setText(_translate("MainWindow", "Descrição do Serviço"))
        self.label_12.setText(_translate("MainWindow", "Imagem"))
        self.pushButton.setText(_translate("MainWindow", "Procurar..."))
        self.pushButton_2.setText(_translate("MainWindow", "Enviar via Email"))
        self.pushButton_3.setText(_translate("MainWindow", "Salvar"))
        self.pushButton_4.setText(_translate("MainWindow", "Cancelar"))
        self.pushButton_5.setText(_translate("MainWindow", "Busca Banco de Dados"))
        self.comboBox.setItemText(0, _translate("MainWindow", "CNPJ"))
        self.comboBox.setItemText(1, _translate("MainWindow", "Nome do Solicitante"))
        self.comboBox.setItemText(2, _translate("MainWindow", "Data"))
        self.menuArquivos.setTitle(_translate("MainWindow", "Arquivos"))
        self.actionSalvar.setText(_translate("MainWindow", "Salvar"))
        self.actionClose.setText(_translate("MainWindow", "Apagar"))
        self.actionClose_2.setText(_translate("MainWindow", "Close"))

def main():
    app = QApplication(sys.argv)
    Mw = ClassePrincipal()
    Mw.show()  
    app.exec_()  


if __name__ == '__main__':
    main()

但是我收到了这条错误消息

Traceback (most recent call last):
  File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 221, in <module>
    main()
  File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 215, in main
    Mw = ClassePrincipal()
  File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 14, in __init__
    self.setupUi(self)
  File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 17, in setupUi
    MainWindow.setObjectName
AttributeError: 'ClassePrincipal' object has no attribute 'setObjectName'

但是,我一直在阅读有关此模块的信息,并且有此属性。

谁能帮助我,我真的很菜鸟python,这是我的第一个程序,我不知道发生了什么。

从现在开始,谢谢。

Ps: 我用的是QT Designer

如错误信息所示,第17行有错误: 我猜你错误地写了两次 'MainWindow.setObjectName' ,但是第一次没有参数。所以 Python 是 "thinking" 您引用具有此名称的属性而不是方法,并且底层 class 没有这样的属性(如错误中所述)。

我相信这个文件是由 pyuic5 生成的。您应该避免手动编辑计算机生成的文件。如果你有 .ui 文件,你可以尝试使用下面的 pyuic5 link 生成 py 文件可能会帮助你

http://pyqt.sourceforge.net/Docs/PyQt5/designer.html

你可以让你的 class 扩展 QMainWindow 并将带有 MainWindow 的部分更改为 self 吗?如果这不起作用,请使用 Main Window 选项创建文件,在 pyuic5 上使用 -x 标志,它将为您提供可执行 python 代码,这是更好的选择。下面的 link 应该也会有所帮助

    self.setObjectName("MainWindow")
    self.resize(464, 501)

http://www.rkblog.rk.edu.pl/w/p/simple-text-editor-pyqt4/

我做到了,以解决我刚才做的问题

改为:

class ClassePrincipal(object):

我用过

class ClassePrincipal(QMainWindow):

谢谢你。