使用PyQt5制作用户登陆界面

上篇文章已经介绍了如何配置PyQt5环境,这篇文章在此基础上展开,主要记录一下如何使用 PyQt5 制作用户登陆界面,并对一些基础操作进行介绍。

下面是具体步骤,一起来看看吧!


1. 打开 Pycharm 中的 Qt Designer 工具。

2. 选择Main Window模式,创建界面窗口。

3. 移除菜单栏和状态栏,不然设置背景图片时,这两个地方会有影响。具体操作是,鼠标右击 “menubar” 和 “statusbar”,之后点击移除按钮。

4. 鼠标点击Label按钮,并长按将其拖入到主菜单合适位置,双击将其重命名为 “用户名:” 和 “密 码:” 。

Label 控件的作用主要是显示,因此如果只是显示文字,图像等可以用此控件。

5. 鼠标单机 “用户名:”,可以在右侧属性编辑器中找到 font 属性,更改字体大小等,并将其放置到合适的位置。

6. 鼠标点击 Line Edit 按钮,并长按将其拖入到主菜单合适位置,可以将其拉长,拉宽并放置到合适的位置。

Line Edit 是文本框,可以输入及显示文本信息。

7. 在将文本框移动到合适位置时,对于微小的变动,可以点击文本框,使用 geometry 属性控制文本框的大小和位置,试着调整到理想位置。

8. 鼠标点击 Push Button 按钮,并长按将其拖入到主菜单合适位置。这里我们加入了三个按钮,分别负责登录界面的”注册账号“,”忘记密码“ 和 ”登录“。

Push Button 是一个按钮,鼠标可以点击,当鼠标按下的时候会发出一个信号,可以根据这个信号来做相应的操作,比如说 “注册账号”,这就用到了信号与槽的概念,下面会说到。

9. 鼠标右击按钮,点击改变样式表,设置该按钮的背景色。




10. 点击左上角保存,设置一个名字。

11. 双击example.ui文件,点击Tools中的External Tools ,再点击 PyUIC ,就可以生成一个 example.py 文件了。


12. 这个 example.py 文件是不能直接运行的,因此我们需要额外写一个 main.py 文件,来运行这里面的类。我们新增加的逻辑代码部分一定要在自己建的那个main.py文件中进行。不然每一次重新修改UI文件,并重新转换为.py文件,那么之前写过的逻辑代码将会完全被覆盖。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from example import Ui_MainWindow      # example这里是你的命名文件class MainWindow(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MainWindow, self).__init__(parent)self.setupUi(self)if __name__ == '__main__':app = QApplication(sys.argv)main = MainWindow()main.show()sys.exit(app.exec_())

13. 右击选择运行 main.py 代码,就能看到我们刚刚做的界面了。其中2个文本框里可以输入字符串,三个按钮可以点击,但此时点击并没有反应。下面我们将新建一个页面,并做到点击按钮弹出一个新的界面。

14. 按照上述操作我们可以额外制作一个页面,以注册账号为例,将整个界面的名字更改为 register_2 ,将文件保存为 register.ui ,进而得到 register.py 文件。(右键双击关闭按钮可关闭界面窗口)

15. 在main代码中增加调用注册页面的类
并使用main.pushButton.clicked.connect(register.Open) 将注册账号按钮和打开页面联系起来,详细代码如下所示。

其中,pushButton 为按钮的名字,打开UI文件可以查询每个按钮对应的名字。

最后,右击运行 main.py 代码,就能看到我们刚刚做的界面,再点击“注册账号”按钮,就弹出了另一个界面。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from example import Ui_MainWindow    # example这里是你的命名文件
from register import Ui_register_2class MainWindow(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MainWindow, self).__init__(parent)self.setupUi(self)# 注册界面
class Register(QMainWindow, Ui_register_2):def __init__(self, parent=None):super(Register, self).__init__(parent)self.setupUi(self)def Open(self):self.show()if __name__ == '__main__':app = QApplication(sys.argv)main = MainWindow()# 实例化注册页面register = Register()# 将按钮与页面打开连接起来main.pushButton.clicked.connect(register.Open)main.show()sys.exit(app.exec_())

到这里基础操作就做介绍了,可以依此方法,将 “忘记密码” 和 “登陆” 按钮与新设计的界面建立连接,快来动手做做试试吧!

该专栏博文地址:

界面开发(1) — PyQt5环境配置
界面开发(2)— 使用PyQt5制作用户登陆界面
界面开发(3)— PyQt5用户登录界面连接数据库
界面开发(4)— PyQt5实现打开图像及视频播放功能
界面开发(5)— PyQt5实现打开摄像头采集视频功能

日常学习记录,一起交流讨论吧!侵权联系~

界面开发(2)--- 使用PyQt5制作用户登陆界面相关推荐

  1. 学籍管理系统制作教程第二天之 用户登陆界面(三层)

    最近工作比较忙,所以没有连续的来写,今天有空了继续前面的 今天做用户登陆界面,使用三层架构,那么我就需要先理解什么是三层和为什么使用三层. 第一:什么是三层,UI表现层也就是界面,放各种界面如登陆界面 ...

  2. 利用JAVA手机登录页面_Java用户登陆界面例子 代码

    2,流式布局:FlowLayout.布局方式为从左到右,从上到下.是JPanel(轻量级容器)的默认面板布局. 3,网格布局:GridLayout.布局方式为行和列组成的网络.布局方法:setLayo ...

  3. 【PYTHON】tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失...

    tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失 tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失 1 if que ...

  4. JAVA swing之用户登陆界面

    一:本文主要介绍用java画图写一个用户登录界面,其中包括的功能效果有: 1:新用户的创建 2:将用户信息保存在txt文件,文件路径设置为D:\\map\\Secret1.txt,路径可以自行修改 3 ...

  5. 使用Pyqt5制作屏幕录制界面

    使用Pyqt5制作屏幕录制界面 应用平台 窗口设置 主体窗口代码 划选窗口代码 总结 最近有在使用屏幕录制软件录制桌面,在用的过程中突发奇想,使用python能不能做屏幕录制工具,也锻炼下自己的动手能 ...

  6. springboot整合mybaits-plusmybaits实现用户登陆界面(适合入门)+唯美界面

    springboot整合mybaits-plus/mybaits实现用户登陆界面(一步步解析)+唯美界面 文章目录 springboot整合mybaits-plus/mybaits实现用户登陆界面(一 ...

  7. Java用户登陆界面例子 代码

    转自http://www.cnblogs.com/liwustore/archive/2013/01/01/2841492.html 好久没有总结这个月的学习了,先唠叨几句,这个月工作烂的一塌糊涂.跟 ...

  8. jquery实现登录成功界面_jquery实现用户登陆界面(示例讲解)

    实例如下所示: var cnresu = false; $(function(){ $("input[name='uname']").blur(function(){//blur从 ...

  9. Ubuntu 18.04 用户登陆界面死循环 NVIDIA 驱动导致用户登陆界面死循环

    Ubuntu 18.04 用户登陆界面死循环 1. 卸载原来NVIDIA 所有驱动 2. 重新安装驱动 buntu 18.04 用户登陆界面循环输入密码 Ubuntu 安装 NVIDIA 驱动导致用户 ...

最新文章

  1. JavaScript 工作原理之五-深入理解 WebSockets 和带有 SSE 机制的HTTP/2 以及正确的使用姿势(译)...
  2. 继承2016/4/19
  3. python操作系统-PYTHON-操作系统基础
  4. tomcat基本使用和超图基本jsp例子
  5. 内存中“堆”和“栈”的区别
  6. win下安装elasticsearch(win_Elasticsearch)
  7. C 结构体嵌套一级指针 二级指针 动态分配内存
  8. linux 如何解压.exe,linux下解压火狐浏览器压缩包 ./filefox 运行可执行程序报错问题...
  9. yolo 负样本_SSD——样本正负比控制+多尺度检测 (目标检测)(one-stage)(深度学习)(ECCV 2016)...
  10. 在线时序流程图制作工具
  11. 使用adb命令从Android手机中取出已安装的app包,导出apk
  12. Java游戏程序设计教程 第4章 游戏的运行机制
  13. 1.两数之和(leetcode-1)
  14. 快递鸟电子面单对接文档(顺丰、ESM、圆通通用)
  15. 感应加热电源-谐振移相-感性移相
  16. 组合体视图的画图步骤_画组合体视图的方法与步骤
  17. 体育教学与计算机技术的结合点,浅析计算机技术在高校体育教学中的应用
  18. Uber提出基于Metropolis-Hastings算法的GAN改进思想
  19. STW43NM60ND意法车规MOS管\原装现货ASEMI代理
  20. 下载xcode 10

热门文章

  1. 微信小程序跳转公众号推文
  2. 小学生如何用计算机写字,用电脑“写字”影响中国学生汉字手书水平
  3. matlab免安装版电脑打开黑屏,电脑打开显示模拟黑屏如何解决
  4. 走自己的路,做最好的自己
  5. 自定义百度地图信息窗口BMap InfoWindow
  6. 支付系统如何进行分布式改造
  7. 从0到一开发微信小程序(3)—小程序框架配置
  8. 网站点击进去出现“该内容被禁止访问”的拦截处理
  9. 如何遍历redis集合
  10. 在Ubuntu 20.04 LTS Focal Fossa上安装Cockpit