pyside2登录页面与主页面

用pyside2包写了登录页面和主页面,可以参考的资料很少,特别是登录页面跳转到主界面,隐藏登录页面的功能,尝试了很多次才实现。记录与此,希望能给使用pyside2的朋友提供帮助,少走一些弯路。

包含两个py文件

登录login.py

#!/usr/bin/env python3.7
# -*- coding: utf-8 -*-

from PySide2 import QtCore, QtGui, QtWidgets
import sys
from mainwindow import MainWindow

class LoginWidget(QtWidgets.QMainWindow):
	def __init__(self):
		super(LoginWidget, self).__init__()
		# 设定登录页面大小
		self.resize(433, 334)
		self.centralwidget = QtWidgets.QWidget(self)
		self.setCentralWidget(self.centralwidget)
		# 添加组控件
		self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
		self.groupBox.setGeometry(QtCore.QRect(50, 60, 361, 171))
		self.groupBox.setTitle('用户登录')
		self.label_3 = QtWidgets.QLabel(self.groupBox)
		self.label_3.setGeometry(QtCore.QRect(30, 30, 48, 16))
		self.label_3.setMaximumSize(QtCore.QSize(16777215, 20))
		self.label_3.setText('用户名称')
		self.label_4 = QtWidgets.QLabel(self.groupBox)
		self.label_4.setGeometry(QtCore.QRect(30, 80, 48, 16))
		self.label_4.setMaximumSize(QtCore.QSize(16777215, 20))
		self.label_4.setText('用户密码')
		self.lineEdit_1 = QtWidgets.QLineEdit(self.groupBox)
		self.lineEdit_1.setGeometry(QtCore.QRect(120, 30, 200, 20))
		self.lineEdit_1.setMaximumSize(QtCore.QSize(200, 20))		
		self.lineEdit = QtWidgets.QLineEdit(self.groupBox)
		self.lineEdit.setGeometry(QtCore.QRect(120, 80, 200, 20))
		self.lineEdit.setMaximumSize(QtCore.QSize(200, 20))		
		self.pushButton = QtWidgets.QPushButton(self.centralwidget)
		self.pushButton.setGeometry(QtCore.QRect(110, 260, 75, 25))
		self.pushButton.setMaximumSize(QtCore.QSize(16777215, 25))
		self.pushButton.setText('确定')
		# 确定按钮绑定回车快捷键
		self.pushButton.setShortcut('Enter')
		self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
		self.pushButton_2.setGeometry(QtCore.QRect(240, 260, 75, 25))
		self.pushButton_2.setMaximumSize(QtCore.QSize(16777215, 25))
		self.pushButton_2.setText('取消')
		
		# 禁止窗口最大最小化
		self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)
		# 禁止拉伸窗口
		self.setFixedSize(self.width(), self.height())		
		# 密码隐藏
		self.lineEdit.setEchoMode(QtWidgets.QLineEdit.Password)
		# 连接信号和槽函数,实现功能:点击取消按钮,退出应用
		self.connect(self.pushButton_2, QtCore.SIGNAL('clicked()'), self.closeWin)
		# 连接信号和函数,实现功能:点击确定按钮,进入主窗口
		self.pushButton.clicked.connect(self.openMain)
		
	def openMain(self):
		if self.lineEdit_1.text() == 'user' and self.lineEdit.text() == '123' :
			self.mw = MainWindow()
			self.mw.show()
			self.hide()
		else:
			# 密码错误,弹出提示框
			QtWidgets.QMessageBox.information(self, u'提示', u'密码错误,请重新输入', QtWidgets.QMessageBox.Ok)
			print('密码错误,请重新输入')			
		
	def closeWin(self):
		self.close()		
		

if __name__ == '__main__':
	app = QtWidgets.QApplication(sys.argv)
	gui = LoginWidget()
	gui.show()
	sys.exit(app.exec_())

主页面mainwindow.py

#!/usr/bin/env python3.7
# -*- coding: utf-8 -*-

from PySide2 import QtWidgets
import sys

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        

欢迎转载,转载请注明出处,谢谢

https://blog.csdn.net/ggo006/article/details/103785080

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值