PyQt5学生成绩信息系统(一):登录注册窗口(包含窗口跳转、连接数据库等)

一、前言:

这是个学生成绩信息系统的窗口化,结合了sqlite3。
刚写好登录注册窗口,会陆续更新。
窗口设计用的是Qtdesinger,可参考:记录分享学习Qt设计师的文章及简介

1、实现效果

在这里插入图片描述
在这里插入图片描述

2、亮点:

1、能在出错的时候在注册页面显示错误信息,Label处的字体会变化,且标红;
2、账号输入框后有一个图标(action)能进行判断;
3、在注册成功的时候能创建一个独属于他的数据库。
在这里插入图片描述

3、思路简介:

(1)传统的登录界面和注册界面;
(2)在注册窗口能进行各种限定,比如账号和密码的限定长度,以及验证两次密码的一致(后来美化了消息提示,用了四个用于提示的标签);
(3)注册成功将往账号数据库里面添加这个账号的信息,并创建一个独属于这个账号的数据库;
(4)在账号窗口能进行验证账号的正确性;
(5)连接两个窗口的相互跳转:
①登录窗口能打开注册窗口,此时登录窗口 不 自动关闭;
②注册成功后 自动关闭 注册窗口,回到登录窗口,即使之前关掉了登录窗口,重新打开即可。



二、数据库

1、思路:

(1)一个数据库用来存放系统的账号密码和用户名信息;
(2)一个账号注册成功就多一个独属于它的数据库,存放学生成绩信息。

2、代码:

import sqlite3

(1)创建系统账号的数据库

def create_account_db( db_name):
    """创建系统账号的数据库"""
    cn = sqlite3.connect( db_name)
    c = cn.cursor()

    sql = '''CREATE TABLE Accounts(
                Account CHAR(15) PRIMARY KEY,
                Aname CHAR(4) NOT NULL,
                Password CHAR(15) NOT NULL
            );'''
    c.execute(sql)
    cn.commit()
    cn.close()

(2)创建学生信息的数据库

def create_stu_db( db_name):
    """创建学生信息的数据库"""
    cn = sqlite3.connect( db_name)
    c = cn.cursor()

    sql = '''CREATE TABLE Students(
                Sno CHAR(10) PRIMARY KEY,
                Sname NVARCHAR(4) NOT NULL,
                Sgender NCHAR(1) 
                    CHECK( Sgender='男' or Sgender='女') 
                    default '男',
                Sbirth TEXT,
                Sclass NVARCHAR(8),
                Snative NVARCHAR(20)
            );'''#学生表
    c.execute(sql)

    sql = '''CREATE TABLE Courses(
                Cno CHAR(8) PRIMARY KEY,
                Cname NVARCHAR(20) NOT NULL,
                Chours INTEGER,
                Ccredit INTEGER
            );'''#课程表
    c.execute(sql)

    sql = '''CREATE TABLE Reports(
                Sno CHAR(10),
                Cno CHAR(8),
                Racademicyear INT,
                Rterm INT,
                Grade INT,
                PRIMARY KEY (Sno, Cno)
            );'''#成绩表
    c.execute(sql)
    cn.commit()
    cn.close()


三、视图代码

注册和登录窗口的视图代码:

窗口设计用的是Qtdesinger,可参考:记录分享学习Qt设计师的文章及简介
用ui文件转换成py文件,再修了一下。为了节省文章长度就不列出,如果需要的话,可以直接下载,上传了资源。
下载注册和登录窗口的文件:
PyQt5学生成绩信息系统(一):登录和注册窗口
(2022/8/3更新:这文章好多人看啊,我把这个注册登录用到的文件都塞到这个资源里了,包括用pyqt做的ui文件,ui文件转的py文件,还有这篇文章的代码的py文件,改改就能用吧,大概…要是这文章看的人再多一点,等有空了说不定就更新这个系列了,好久之前整个系统做是做好了,虽然有点烂,主要忘记了这些代码是做啥子的了…)

四、逻辑代码

1、需要导入的包:

import sys
import os 
import sqlite3 #用于数据库
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox, QAction
  • 48
    点赞
  • 287
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
PyQt5学生成绩信息系统是一个基于PyQt5开发的学生成绩管理系统,该系统包含登录和注册窗口。以下是对登录和注册窗口的详细描述: 登录窗口是系统的初始界面,其目的是为已注册的用户提供登录功能。登录窗口包含两个输入框,用于输入用户名和密码,并有一个登录按钮。用户需要在输入框中输入正确的用户名和密码,然后点击登录按钮进行身份验证。系统会将输入的用户名和密码与已注册用户的信息进行比对,如果输入正确则跳转到主界面,如果输入错误则提示用户重新输入或进行注册。 注册窗口用于新用户的注册。注册窗口包含若干个输入框,用于输入用户名、密码以及其他相关信息,如姓名、年龄、性别等。用户需要填必要的信息,然后点击注册按钮完成注册。系统会将新用户的信息保存到数据库中,并提供登录窗口进行身份验证。 登录和注册窗口是系统的关键部分,确保学生成绩信息的安全和准确性。系统通过注册窗口筛选并注册合法用户,然后通过登录窗口验证用户身份。这样能够确保只有合法用户才能进入系统进行学生成绩的管理和查询。 登录和注册窗口PyQt5中可以使用QLineEdit、QPushButton等控件进行实现。登录窗口中的登录按钮可以绑定一个点击事件,该事件在用户点击时触发身份验证的函数。注册窗口的注册按钮可以绑定一个点击事件,该事件在用户点击时触发保存用户信息到数据库的函数。 总之,登录和注册窗口PyQt5学生成绩信息系统中重要的部分,通过身份验证和用户注册功能确保系统的安全性和用户的合法性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值