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

包含两个py文件

登录login.py

#!/usr/bin/env python3.7
# -*- coding: utf-8 -*-from PySide2 import QtCore, QtGui, QtWidgets
import sys
from mainwindow import MainWindowclass 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 sysclass MainWindow(QtWidgets.QMainWindow):def __init__(self):super(MainWindow, self).__init__()

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

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

pyside2登录页面与主页面相关推荐

  1. vue-element-admin 如何跳过登录直接访问主页面

    vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现.它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务 ...

  2. Qt模拟简易版QQ登录页面及主页面

    话不多说直接上图 需要源代码的私聊我(免费分享) QQ主页面(默认账号密码123) 登录失败对话框 (点击ok重新登录) 登录成功进度框(点击取消退出所以页面) QQ界面(等待登陆了成功后弹出) 下载 ...

  3. js iframe.contentWindow_iframe页面调用主页面.html

    <!doctype html> <html lang="en"> <head><meta charset="UTF-8" ...

  4. 使用虚拟登录页面jsp,跳过登录页,直接访问主页面

    最近在修改项目的一个模块,项目本身是java + springMVC开发的,重新用.net来写一个模块块,因此需要从主页面跳转到.net页面,再从.net页面返回登录成功的主页面,现总结如下: 跳转到 ...

  5. react router 从登录页面跳转到主页面

    在搭建React框架时,选择了create-react-app脚手架工具搭建. 在使用到router的时候,想法是这样的,在APP.js中配置一个简单的路由,路由包含两个,一个登录页,一个主页面. 默 ...

  6. 基于Jquery实现登录功能的前端页面

    本篇文章讲解如何用jquery完成登录功能的前端页面展示 html部分: <div class="name"><label>用户名:</label&g ...

  7. 跨域传值即主页面与iframe之间互相传值

    需求一:主页面A 怎么向 iframe B 传递数据呢? 这种方式,是主页面需要给 iframe B 传递数据,然后 iframe B 获得到数据后进行特定的处理 实现方式 实现的技巧就是利用 loc ...

  8. Winform之学生信息管理系统主页面

    在上次的学生登录窗口的设计中,需要修改的地方为; 1登录窗口的最大化和最小化,这个一般的登录窗口不需要,因此我们也不做,单击学生信息管理系统的窗体设计找到属性MaximizeBox和属性(窗口的最大化 ...

  9. javaWeb项目用过滤器filter实现登陆成功后才能访问主页面,否则直接输入主页面的地址自动跳转到登陆界面

    想用Filter实现一个登陆验证的功能,实现登陆成功后才能访问主页面,否则直接输入主页面的地址会自动跳转到登陆界面 原理很简单,每次登陆成功后,创建一个session域对象,将登陆成功的用户名保存在s ...

最新文章

  1. 线程互斥和同步-- 互斥锁
  2. linux/unix inode的一个面试问题及一些概念
  3. Python sys.path详解
  4. 【设计模式】状态模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  5. PyQt4编程之模态与非模态对话框(一)
  6. 微服务容器化最短路径,微服务 on Serverless 最佳实践
  7. JS_理解函数参数按值传递
  8. element 增加自由验证
  9. NB-IoT(8)---网络编程
  10. Eclipse 自动清理未使用 Import
  11. 什么是传递(Pass-Through)会话
  12. Design Tradeoffs for SSD Performance
  13. 项目管理十大知识领域之项目资源管理
  14. 用excel制作双层饼图_教程:用Excel做饼图之复合饼图与双层饼图(2)
  15. 苹果计算机取消用户名和密码进入不,苹果电脑怎么设置不用密码开机
  16. gif动图制作方法一
  17. 燕山大学大物实验下线上版
  18. grep -v grep使用说明
  19. 微型计算机原理与应用实验指导书,微机原理与应用实验指导书-20180316.doc
  20. 【BZOJ4808/3175】马/[Tjoi2013]攻击装置 最小割

热门文章

  1. Pytorch CPU/GPU 安装方法。
  2. 【VideoPose3D】可视化自定义视频
  3. 对日软件日语词汇收集(1)
  4. CAS 票根'ST-685-XXXXXXXX-eFfa-cas'不符合目标服务
  5. Win7 旗舰版 SP1环境下安装Microsoft .NET Framework 4.8
  6. 死锁与活锁、死锁与饥饿区别
  7. 压缩包密码忘记了怎么解决
  8. 计算机主板的cpu插槽,自己动手,轻松更换CPU插槽
  9. 华为折叠手机终究采用三星放弃了京东方,证明三星技术方向正确
  10. bzoj 1024 生日快乐 暴力搜索