栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pyqt5 登录界面的实现模板(加强版)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pyqt5 登录界面的实现模板(加强版)

说明

本例,在登录界面第一版的基础上,增加了主界面的注销功能和退出功能。

注销功能
    # 动作一:注销
    def on_printAction1_triggered(self):
 self.close()
 dialog = logindialog()
 if  dialog.exec_()==QDialog.Accepted:
     the_window = MainWindow()
     self.windowList.append(the_window)    #这句一定要写,不然无法重新登录
     the_window.show()

退出功能
    # 动作二:退出
    def on_printAction2_triggered(self):
 self.close()

还是很简单的吧,好了,下面给出完整代码。

完整代码

【如下代码,完全复制,直接运行,即可使用】

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
################################################
#######创建主窗口
################################################
class MainWindow(QMainWindow):
    windowList = []
    def __init__(self, *args, **kwargs):
 super().__init__(*args, **kwargs)
 self.setWindowTitle('主界面')
 self.showMaximized()

 # 创建菜单栏
 self.createMenus()

    def createMenus(self):
 # 创建动作 注销
 self.printAction1 = QAction(self.tr("注销"), self)
 self.printAction1.triggered.connect(self.on_printAction1_triggered)

 # 创建动作 退出
 self.printAction2 = QAction(self.tr("退出"), self)
 self.printAction2.triggered.connect(self.on_printAction2_triggered)

 # 创建菜单,添加动作
 self.printMenu = self.menuBar().addMenu(self.tr("注销和退出"))
 self.printMenu.addAction(self.printAction1)
 self.printMenu.addAction(self.printAction2)




    # 动作一:注销
    def on_printAction1_triggered(self):
 self.close()
 dialog = logindialog()
 if  dialog.exec_()==QDialog.Accepted:
     the_window = MainWindow()
     self.windowList.append(the_window)    #这句一定要写,不然无法重新登录
     the_window.show()



    # 动作二:退出
    def on_printAction2_triggered(self):
 self.close()



    # 关闭界面触发事件
    def closeEvent(self, event):
 print(999999999)
 pass


################################################
#######对话框
################################################
class logindialog(QDialog):
    def __init__(self, *args, **kwargs):
 super().__init__(*args, **kwargs)
 self.setWindowTitle('登录界面')
 self.resize(200, 200)
 self.setFixedSize(self.width(), self.height())
 self.setWindowFlags(Qt.WindowCloseButtonHint)

 ###### 设置界面控件
 self.frame = Qframe(self)
 self.verticalLayout = QVBoxLayout(self.frame)

 self.lineEdit_account = QLineEdit()
 self.lineEdit_account.setPlaceholderText("请输入账号")
 self.verticalLayout.addWidget(self.lineEdit_account)

 self.lineEdit_password = QLineEdit()
 self.lineEdit_password.setPlaceholderText("请输入密码")
 self.verticalLayout.addWidget(self.lineEdit_password)

 self.pushButton_enter = QPushButton()
 self.pushButton_enter.setText("确定")
 self.verticalLayout.addWidget(self.pushButton_enter)

 self.pushButton_quit = QPushButton()
 self.pushButton_quit.setText("取消")
 self.verticalLayout.addWidget(self.pushButton_quit)

 ###### 绑定按钮事件
 self.pushButton_enter.clicked.connect(self.on_pushButton_enter_clicked)
 self.pushButton_quit.clicked.connect(QCoreApplication.instance().quit)





    def on_pushButton_enter_clicked(self):
 # 账号判断
 if self.lineEdit_account.text() == "":
     return

 # 密码判断
 if self.lineEdit_password.text() == "":
     return

 # 通过验证,关闭对话框并返回1
 self.accept()




################################################
#######程序入门
################################################
if __name__ == "__main__":
    app = QApplication(sys.argv)
    dialog = logindialog()
    if  dialog.exec_()==QDialog.Accepted:
 the_window = MainWindow()
 the_window.show()
 sys.exit(app.exec_())


本文如有帮助,敬请留言鼓励。
本文如有错误,敬请留言改进。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号