这是用qt desgner写的UI文件转py文件内容:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_denglu(object):
def setupUi(self, denglu):
denglu.setObjectName("denglu")
denglu.resize(342, 251)
self.yonghuming = QtWidgets.QLabel(denglu)
self.yonghuming.setGeometry(QtCore.QRect(56, 72, 51, 20))
self.yonghuming.setObjectName("yonghuming")
self.mima = QtWidgets.QLabel(denglu)
self.mima.setGeometry(QtCore.QRect(57, 99, 41, 20))
self.mima.setObjectName("mima")
self.yonghulineEdit = QtWidgets.QLineEdit(denglu)
self.yonghulineEdit.setGeometry(QtCore.QRect(113, 72, 133, 20))
self.yonghulineEdit.setObjectName("yonghulineEdit")
self.mimalineEdit = QtWidgets.QLineEdit(denglu)
self.mimalineEdit.setGeometry(QtCore.QRect(113, 98, 133, 20))
self.mimalineEdit.setObjectName("mimalineEdit")
self.dengluButton = QtWidgets.QPushButton(denglu)
self.dengluButton.setGeometry(QtCore.QRect(71, 170, 75, 23))
self.dengluButton.setObjectName("dengluButton")
self.zhuceButton = QtWidgets.QPushButton(denglu)
self.zhuceButton.setGeometry(QtCore.QRect(171, 170, 75, 23))
self.zhuceButton.setObjectName("zhuceButton")
self.retranslateUi(denglu)
QtCore.QMetaObject.connectSlotsByName(denglu)
def retranslateUi(self, denglu):
_translate = QtCore.QCoreApplication.translate
denglu.setWindowTitle(_translate("denglu", "登录界面"))
self.yonghuming.setText(_translate("denglu", "用户名:"))
self.mima.setText(_translate("denglu", "密码:"))
self.dengluButton.setText(_translate("denglu", "登录"))
self.zhuceButton.setText(_translate("denglu", "注册"))
下面是主文件代码:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDialog, QLabel, QLineEdit, QPushButton, \
QGridLayout, QVBoxLayout, QHBoxLayout, QMessageBox
from denglu import Ui_denglu
from 注册 import Ui_zhuce
USER_PWD = {
'la_vie': 'password'
}
# 定义全局变量,用作用户名和密码。
class Demo(QWidget, Ui_denglu):
def __init__(self):
super(Demo, self).__init__()
self.setupUi(self)
self.lineedit_init()
self.pushbutton_init()
self.signin_page = Ui_zhuce()
def lineedit_init(self):
# 在输入行显示浅灰色的文字
self.yonghulineEdit.setPlaceholderText('输入账号')
self.mimalineEdit.setPlaceholderText('输入密码')
# 将输入的密码变成小黑点
self.mimalineEdit.setEchoMode(QLineEdit.Password)
self.yonghulineEdit.textChanged.connect(self.check_input_func)
self.mimalineEdit.textChanged.connect(self.check_input_func)
def pushbutton_init(self):
# 登录按钮在用户名和密码未输入的情况下不可用
self.dengluButton.setEnabled(False)
self.dengluButton.clicked.connect(self.check_login_func)
# self.zhuceButton.clicked.connect(self.show_signin_page_func)
def check_login_func(self):
# 判断密码是否正确
if USER_PWD.get(self.yonghulineEdit.text()) == self.mimalineEdit.text():
QMessageBox.information(self, '提示', '登录成功!')
else:
QMessageBox.critical(self, '错误', '用户名或密码错误')
self.yonghulineEdit.clear()
self.mimalineEdit.clear()
# def show_signin_page_func(self):
# self.signin_page.exec_()
def check_input_func(self):
if self.yonghulineEdit.text() and self.mimalineEdit.text():
self.denggluButton.setEnabled(True)
else:
self.dengluButton.setEnabled(False)
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
运行代码后显示:退出代码为 1073741845