300行代码用PyQt实现登录注册界面,并用数据库保存信息

目录

1. 前言
2. 环境配置
  1. 下载安装 python
  2. 安装配置编辑器
  3. 下载所需库
3. 主页面

      3.1. 创建一个页面
      3.2. 添加相关控件
         3.2.1. 添加标签
         3.2.2. 添加输入框
         3.2.3. 添加按钮
         3.2.4. 设置背景

4. 注册页面

界面设计

5. 逻辑关系

   5.1. 注册
   5.2. 登录


前言

上一次利用tkinter设计了一个登陆注册界面受到了很多小伙伴的关注(传送门),于是想着利用PyQt来实现,当然是因为 PyQt长的好看呀,并且这一次我们使用数据库来存储用户信息,是不是一下子比上一次逼格了不少,先看看效果吧
演示
下面马上开始吧


环境配置
  1. 下载安装 python
  2. 安装配置编辑器
  3. 下载所需库

前面的两个内容在之前的教程中已经解决了,接下来我们来下载安装所要使用的库, 只需要运行以下的命令便可以安装 PyQt5了,不过时间可能稍微长一点,耐心等待~~

pip install PyQt5

主页面
1. 创建一个页面

对于新手来说最简单粗暴的方法为,在这里我们使用此种方式1

from PyQt5.Qt import *

除此之外我们还需要导入sys模块

import sys

然后利用下面代码创建一个主页面

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.set_ui()

    def set_ui(self):
        self.resize(1000, 800) 
        self.setWindowTitle('  Login in')


app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())

在上面的代码中我们首先导入了所需要的模块

  • QApplication -> 应用程序,一个程序只能有一个应用程序接口
  • QMainWindow -> 主窗口,一个程序也只能有一个主窗口
  • sys -> 获取系统的信息,比如命令行的,并且承担关闭窗口后完全退出的责任

然后我们使用

  • resize -> 设置窗口的大小
  • setWindowTitle -> 设置窗口的标题

接着使用

  • app = QApplication(sys.argv)创建一个应用
  • 创建一个窗口window并且调用show方法来显示窗口2
  • app.exec_() 可以让窗口一直运行知道被关闭,类似于tkinter中的mainloop方法
  • sys.exit(app.exec_())可以用来判断程序是否正常退出

运行之后,我们可以看到以下界面,和平常所见的是不是一模一样!

创建一个页面

我们还可以使用下面的代码为我们的图像添加一个图标

 def change_icon(self):
        """用来修改图像的图标"""
        self.icon = QIcon("python-logo.png")
        self.setWindowIcon(self.icon)

添加图标之后,界面得到进一步的美化,接下来我们将对我们的界面添加一些控件与用户进行交互

2. 添加相关控件
2.1 添加标签

类似tkinter中的LabelQLabel为PyQt中提供的标签对象,我们可以使用下面的代码实现标签的添加

def add_label(self):

     self.label = QLabel(self)
     self.label.setText('username')
     self.label.setFixedSize(240, 40)
     self.label.move(120, 530)

在上述代码中,我们首先定义了一个QLabel对象,然后使用其中的方法3
setText -> 设置文本内容
setFixedSize -> 设置不可修改的窗口大小

然后我们来设置以下字体,利用 QFont对象来创建一个字体对象,然后使用QLabel对象的setFont方法进行设置

 # 设置字体
 label_font = QFont()
 label_font.setFamily('Consolas')
 label_font.setPixelSize(35)
 self.label.setFont(label_font)

QFont中的方法3
setFamily -> 设置字体
setPixelSize -> 设置字体大小

运行之后我们可以得到之下的效果
添加标签-username
然后同样的添加 password等文字标签,全部代码如下:

def add_label(self):
    """添加相应的标签"""
    # 设置字体
    label_font = QFont()
    label_font.setFamily('Consolas')
    label_font.setPixelSize(35)
    
    # 创建文本标签
    self.username_label = QLabel(self)
    self.password_label = QLabel(self)
    self.cyberits_label = QLabel(self)

    # 设置标签中的文本
    self.username_label.setText("username")
    self.password_label.setText("password")
    self.cyberits_label.setText("Cyberist--a python learner"
  • 29
    点赞
  • 185
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值