报错:Traceback (most recent call last):
File "E:/Python/Qt_study/Login_inherit.py", line 17, in My_close
self.pushButton_2.clicked.connect(MainWindow.close) # 单击链接到 MainWindow.close() ,自带关闭窗口函数
NameError: name 'MainWindow' is not defined
进程已结束,退出代码-1073740791 (0xC0000409)
login.py代码如下:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_mainWindow(object):
def setupUi(self, mainWindow):
mainWindow.setObjectName("mainWindow")
mainWindow.resize(538, 344)
font = QtGui.QFont()
font.setPointSize(16)
mainWindow.setFont(font)
self.centralwidget = QtWidgets.QWidget(mainWindow)
self.centralwidget.setObjectName("centralwidget")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(180, 50, 133, 20))
self.lineEdit.setText("")
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(180, 90, 133, 20))
self.lineEdit_2.setObjectName("lineEdit_2")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(100, 50, 64, 16))
font = QtGui.QFont()
font.setPointSize(12)
self.label.setFont(font)
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(100, 90, 64, 16))
font = QtGui.QFont()
font.setPointSize(12)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(120, 140, 81, 41))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(240, 140, 81, 41))
self.pushButton_2.setObjectName("pushButton_2")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(170, 10, 131, 31))
font = QtGui.QFont()
font.setPointSize(22)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
mainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(mainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 538, 23))
self.menubar.setObjectName("menubar")
mainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(mainWindow)
self.statusbar.setObjectName("statusbar")
mainWindow.setStatusBar(self.statusbar)
self.retranslateUi(mainWindow)
QtCore.QMetaObject.connectSlotsByName(mainWindow)
def retranslateUi(self, mainWindow):
_translate = QtCore.QCoreApplication.translate
mainWindow.setWindowTitle(_translate("mainWindow", "系统登录"))
self.label.setText(_translate("mainWindow", "用户名:"))
self.label_2.setText(_translate("mainWindow", "密 码:"))
self.pushButton.setText(_translate("mainWindow", "登 录"))
self.pushButton_2.setText(_translate("mainWindow", "取 消"))
self.label_3.setText(_translate("mainWindow", "欢迎使用!!"))
Login_inherit.py代码如下:
from PyQt5 import QtWidgets,QtGui,QtCore
from Login import Ui_mainWindow
from PyQt5.QtWidgets import QApplication, QMainWindow
class My_MainWindow(QMainWindow,Ui_mainWindow):
def __init__(self, parent=None):
super(My_MainWindow,self).__init__(parent) #初始化
self.setupUi(self)
print("打开了窗口!")
self.pushButton_2.clicked.connect(self.My_close) #调用逻辑代码
def My_close(self):
self.pushButton_2.clicked.connect(MainWindow.close) # 单击链接到 MainWindow.close() ,自带关闭窗口函数
print("你点击了取消按钮")
import sys
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWindow = My_MainWindow()
mainWindow.show()
sys.exit(app.exec_())