免费分享一套PyQt6学生信息管理系统 Python管理系统 Python源码,挺漂亮的

大家好,我是java1234_小锋老师,看到一个不错的PyQt6学生信息管理系统 Python管理系统 Python源码,分享下哈。

项目视频演示

【免费】PyQt5 学生信息管理系统 Python管理系统 Python源码 Python毕业设计_哔哩哔哩_bilibili【免费】PyQt5 学生信息管理系统 Python管理系统 Python源码 Python毕业设计项目来自互联网,免费开源分享,严禁商业。更多Python源码:http://www.java1234.com/a/bysj/python/, 视频播放量 67、弹幕量 0、点赞数 2、投硬币枚数 0、收藏人数 3、转发人数 1, 视频作者 java1234官方, 作者简介 公众号:java1234 微信:java9266,相关视频:【免费】javaweb物业管理系统毕业设计,【免费】javaweb固定资产管理系统毕业设计,2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~,【免费】javaweb高校教务管理系统毕业设计,【免费】javaweb实验室管理系统毕业设计,【免费】javaweb机房管理系统毕业设计,2024 1小时学会 Python操作Mysql数据库之pymysql模块技术(无废话版),【免费】springboot+vue学生选课管理系统毕业设计演示,【免费】javaweb企业人事管理系统毕业设计,【免费】javaweb学生信息管理系统毕业设计icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Ep4y1R7WD/

项目介绍

期末作业要求用Qt做一个学生管理系统,笔者这段时间在自学Python,本项目主要实现了PyQt5的增删改查。因为学习PyQt5的时间短,写代码时遇到了很多困难,笔者在CSDN与Github上我查阅了大量的资料,最终做了一个半成品出来。但笔者认为,以这个小项目作为一个入门练手项目十分合适,现将其分享,希望能够帮助到新手入门的人。 本项目主要用到了PyQt5、pymysql、xlwt模块、Mysql数据库、QtDesigner和pyuic。PyQt5用于构建GUI界面,pymysql用于与MySQL数据库连接,xlwt用于操作excel。 MySQL数据库笔者采用了navicat数据库管理工具。MySQL具体使用方法此文不作详细解释。

系统展示

部分代码

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'login.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import qInstallMessageHandler, QtCriticalMsg
from PyQt5.QtWidgets import QMessageBox
import sys  # 导入sys模块
import main
from service import serviceclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint)  # 只显示最小化和关闭按钮MainWindow.resize(360, 196)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(0, 0, 360, 80))self.label.setStyleSheet("border-image: url('./images/login.jpg');")self.label.setText("")self.label.setObjectName("label")self.label_2 = QtWidgets.QLabel(self.centralwidget)self.label_2.setGeometry(QtCore.QRect(120, 100, 61, 21))font = QtGui.QFont()font.setPointSize(11)self.label_2.setFont(font)self.label_2.setObjectName("label_2")self.editName = QtWidgets.QLineEdit(self.centralwidget)self.editName.setGeometry(QtCore.QRect(193, 100, 141, 20))self.editName.setObjectName("editName")self.editPwd = QtWidgets.QLineEdit(self.centralwidget)self.editPwd.setGeometry(QtCore.QRect(192, 130, 141, 20))self.editPwd.setEchoMode(QtWidgets.QLineEdit.Password)self.editPwd.setObjectName("editPwd")self.label_3 = QtWidgets.QLabel(self.centralwidget)self.label_3.setGeometry(QtCore.QRect(119, 130, 61, 21))font = QtGui.QFont()font.setPointSize(11)self.label_3.setFont(font)self.label_3.setObjectName("label_3")self.btnLogin = QtWidgets.QPushButton(self.centralwidget)self.btnLogin.setGeometry(QtCore.QRect(200, 160, 61, 23))self.btnLogin.setObjectName("btnLogin")self.btnExit = QtWidgets.QPushButton(self.centralwidget)self.btnExit.setGeometry(QtCore.QRect(270, 160, 61, 23))self.btnExit.setObjectName("btnExit")MainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(MainWindow)self.btnExit.clicked.connect(MainWindow.close) # 关闭登录窗体QtCore.QMetaObject.connectSlotsByName(MainWindow)# 输入密码后按回车键执行登录操作self.editPwd.editingFinished.connect(self.openMain)# 单击“登录”按钮执行登录操作self.btnLogin.clicked.connect(self.openMain)# 打开主窗体def openMain(self):service.userName=self.editName.text() # 全局变量,记录用户名self.userPwd=self.editPwd.text() # 记录用户密码if service.userName != "" and self.userPwd != "": # 判断用户名和密码不为空# 根据用户名和密码查询数据result=service.query("select * from tb_user where userName = %s and userPwd = %s",service.userName,self.userPwd)if len(result)>0: # 如果查询结果大于0,说明存在该用户,可以登录self.m = main.Ui_MainWindow()  # 创建主窗体对象self.m.show()  # 显示主窗体MainWindow.hide() # 隐藏当前的登录窗体else:self.editName.setText("") # 清空用户名文本self.editPwd.setText("") # 清空密码文本框QMessageBox.warning(None, '警告', '请输入正确的用户名和密码!', QMessageBox.Ok)else:QMessageBox.warning(None, '警告', '请输入用户名和密码!', QMessageBox.Ok)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "系统登录"))self.label_2.setText(_translate("MainWindow", "用户名:"))self.label_3.setText(_translate("MainWindow", "密  码:"))self.btnLogin.setText(_translate("MainWindow", "登录"))self.btnExit.setText(_translate("MainWindow", "退出"))# 主方法
if __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow() # 创建窗体对象ui = Ui_MainWindow() # 创建PyQt5设计的窗体对象ui.setupUi(MainWindow) # 调用PyQt5窗体的方法对窗体对象进行初始化设置MainWindow.show() # 显示窗体sys.exit(app.exec_()) # 程序关闭时退出进程
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'main.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
from service import service
from baseinfo import student
from query import studentinfo
from settings import classes,grade
from system import userclass Ui_MainWindow(QMainWindow):# 构造方法def __init__(self):super(Ui_MainWindow, self).__init__()self.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint)  # 只显示最小化和关闭按钮self.setupUi(self) # 初始化窗体设置def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(792, 583)icon = QtGui.QIcon()icon.addPixmap(QtGui.QPixmap("./images/appstu.ICO"), QtGui.QIcon.Normal, QtGui.QIcon.Off)MainWindow.setWindowIcon(icon)MainWindow.setIconSize(QtCore.QSize(32, 32))self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setStyleSheet("border-image: url('./images/main.jpg');")self.centralwidget.setObjectName("centralwidget")MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 792, 23))self.menubar.setObjectName("menubar")self.menu = QtWidgets.QMenu(self.menubar)self.menu.setObjectName("menu")self.menu_2 = QtWidgets.QMenu(self.menubar)self.menu_2.setObjectName("menu_2")self.menu_3 = QtWidgets.QMenu(self.menubar)self.menu_3.setObjectName("menu_3")self.menu_4 = QtWidgets.QMenu(self.menubar)self.menu_4.setObjectName("menu_4")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.actiongrade = QtWidgets.QAction(MainWindow)self.actiongrade.setObjectName("actiongrade")self.actionclass = QtWidgets.QAction(MainWindow)self.actionclass.setObjectName("actionclass")self.actionstudent = QtWidgets.QAction(MainWindow)self.actionstudent.setObjectName("actionstudent")self.actionstudentinfo = QtWidgets.QAction(MainWindow)self.actionstudentinfo.setObjectName("actionstudentinfo")self.actionuserinfo = QtWidgets.QAction(MainWindow)self.actionuserinfo.setObjectName("actionuserinfo")self.actionexit = QtWidgets.QAction(MainWindow)self.actionexit.setObjectName("actionexit")self.menu.addAction(self.actiongrade)self.menu.addAction(self.actionclass)self.menu_2.addAction(self.actionstudent)self.menu_3.addAction(self.actionstudentinfo)self.menu_4.addAction(self.actionuserinfo)self.menu_4.addAction(self.actionexit)self.menubar.addAction(self.menu.menuAction())self.menubar.addAction(self.menu_2.menuAction())self.menubar.addAction(self.menu_3.menuAction())self.menubar.addAction(self.menu_4.menuAction())self.retranslateUi(MainWindow)self.actionexit.triggered.connect(MainWindow.close)QtCore.QMetaObject.connectSlotsByName(MainWindow)datetime = QtCore.QDateTime.currentDateTime()  # 获取当前日期时间time = datetime.toString("yyyy-MM-dd HH:mm:ss")  # 对日期时间进行格式化# 状态栏中显示登录用户、登录时间,以及版权信息self.statusbar.showMessage("当前登录用户:" + service.userName + " | 登录时间:" + time + "  | www.python222.com 收藏整理",0)# 为基础设置菜单中的QAction绑定triggered信号self.menu.triggered[QtWidgets.QAction].connect(self.openSet)# 为基本信息管理菜单中的QAction绑定triggered信号self.menu_2.triggered[QtWidgets.QAction].connect(self.openBase)# 为系统查询菜单中的QAction绑定triggered信号self.menu_3.triggered[QtWidgets.QAction].connect(self.openQuery)# 为系统管理菜单中的QAction绑定triggered信号self.menu_4.triggered[QtWidgets.QAction].connect(self.openSys)# 基础设置菜单对应槽函数def openSet(self,m):if m.text()=="年级设置":self.m = grade.Ui_MainWindow()  # 创建年级设置窗体对象self.m.show()  # 显示窗体elif  m.text()=="班级设置":self.m = classes.Ui_MainWindow()  # 创建班级设置窗体对象self.m.show()  # 显示窗体# 基本信息管理菜单对应槽函数def openBase(self,m):if  m.text()=="学生管理":self.m = student.Ui_MainWindow()  # 创建学生管理窗体对象self.m.show()  # 显示窗体# 系统查询菜单对应槽函数def openQuery(self,m):if  m.text()=="学生信息查询":self.m = studentinfo.Ui_MainWindow()  # 创建学生信息查询窗体对象self.m.show()  # 显示窗体# 系统管理菜单对应槽函数def openSys(self,m):if  m.text()=="用户维护":self.m = user.Ui_MainWindow()  # 创建用户维护窗体对象self.m.show()  # 显示窗体def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "学生成绩管理系统"))self.menu.setTitle(_translate("MainWindow", "基础设置"))self.menu_2.setTitle(_translate("MainWindow", "基本信息管理"))self.menu_3.setTitle(_translate("MainWindow", "系统查询"))self.menu_4.setTitle(_translate("MainWindow", "系统管理"))self.actiongrade.setText(_translate("MainWindow", "年级设置"))self.actionclass.setText(_translate("MainWindow", "班级设置"))self.actionstudent.setText(_translate("MainWindow", "学生管理"))self.actionstudentinfo.setText(_translate("MainWindow", "学生信息查询"))self.actionuserinfo.setText(_translate("MainWindow", "用户维护"))self.actionexit.setText(_translate("MainWindow", "退出"))

源码下载

CSDN 1积分下载:https://download.csdn.net/download/caofeng891102/88680194

或者免费领取加小锋老师wx:java9266

热门推荐

免费分享一套Springboot+Vue前后端分离的停车场管理系统,挺漂亮的-CSDN博客

免费分享一套Springboot+Vue前后端分离的个人博客系统,挺漂亮的-CSDN博客

免费分享一套Springboot+Vue前后端分离的学生网上请假系统,挺漂亮的-CSDN博客

免费分享一套基于springboot的进销存(仓库)管理系统,挺漂亮的-CSDN博客

免费分享一套 SpringBoot + Vue + ElementUI 的人力资源管理系统,挺漂亮的_element+springboot员工工资管理-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘:15条黄金法则,让你的GPT聊天提示效率翻倍!(一)

你的 ChatGPT 响应的好坏完全取决于你使用的ChatGPT 提示。 事实是,ChatgPT对于潜在客户开发、内容创建甚至外展都非常有效。 但大多数人只是使用人工智能来创建内容。 当然,它有时可以产生一些纯文本。也就是说,如果你只使用正确的提示。…

Junit常用注解

注解是方法的“标签” 说明每个方法的“职责” Q:总共有那些注解? 参见官方的API文档 0.常用主机及其特点 BeforeClass 只会执行一次必须用static修饰常用来初始化测试需要的变量 Before 会执行多次(只要写一次)在每个Test执行执行之前执行可以和…

fast.ai 机器学习笔记(一)

机器学习 1:第 1 课 原文:medium.com/hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236 译者:飞龙 协议:CC BY-NC-SA 4.0 来自机器学习课程的个人笔记。随着我继续复习课程以“真正”理解它,这些笔记将继续更…

精品springboot疫苗发布和接种预约系统

《[含文档PPT源码等]精品基于springboot疫苗发布和接种预约系统[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: Java——涉及技术: 前端使用技术:…

代码随想录算法训练营第四十九天(动态规划篇)| 474. 一和零, 完全背包理论基础

474. 一和零 题目链接:https://leetcode.cn/problems/ones-and-zeroes/submissions/501607337/ 思路 之前的背包问题中,我们对背包的限制是容量,即每个背包装的物品的重量和不超过给定容量,这道题的限制是0和1的个数&#xff0…

基于微信小程序的在线课堂的研究与实现,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

fast.ai 机器学习笔记(四)

机器学习 1:第 11 课 原文:medium.com/hiromi_suenaga/machine-learning-1-lesson-11-7564c3c18bbb 译者:飞龙 协议:CC BY-NC-SA 4.0 来自机器学习课程的个人笔记。随着我继续复习课程以“真正”理解它,这些笔记将继续…

移动光猫gs3101超级密码及改桥接模式教程

文章目录 超级管理员账号改桥接模式路由器连接光猫,PPPOE拨号即可!附录:如果需要改桥接的话不知道拨号密码咋办打开光猫Telnet功能Telnet 登录 参考文章 移动光猫吉比特GS3101超级账号获取更改桥接 移动光猫gs3101超级密码及改桥接模式教程 …

(2)长距离

文章目录 2.1 Andruav Android Cellular 2.2 Blicube RLINK P900 2.3 ClearSky Airlink 4G LTE遥测技术 2.4 CRSF/ELRS Telemetry 2.5 CUAV P8 Radio 2.6 CUAV P9 Radio 2.7 DragonLink 2.8 Holybro 900Mhz XBP9X无线电遥测设备 2.9 Holybro Microhard P900无线电遥测…

Idea Git Review插件

idea git plugin 添加了一些常用的小插件 可以右键打开git bash窗口 可以右键选中文字点击baidu fanyi 可以通过搜索git用户名 指定开始时间查询某个版本自己提交的所有代码文件 可以通过点击蓝色行数,跳转到指定的改动代码块 资源地址: git-pl…

flask+python高校学生综合测评管理系统 phl8b

系统包括管理员、教师和学生三个角色; 。通过研究,以MySQL为后端数据库,以python为前端技术,以pycharm为开发平台,采用vue架构,建立一个提供个人中心、学生管理、教师管理、课程类型管理、课程信息管理、学…

【XR806开发板试用】轻松连上华为云实现物联网

本文为极术社区XR806试用活动文章。 一.开始 偶然的机会在网上看到了鸿蒙开发板的试用,作为一个"老鸿蒙"岂能放弃这个机会,报名之后不出意料地得到了使用名额,在此感谢极术社区. 收到开发板之后其实还有点失望了,就那么一个小小的核心板,其他啥也没有,连一根数据线…

AI跟踪报道第28期-新加坡内哥谈技术-本周AI新闻:Gemini Ultra 来了

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Vulnhub靶机:hacksudo-ProximaCentauri

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:hacksudo-ProximaCentauri(10.0.2.51) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhu…

STM32 7-8

目录 ADC AD单通道 AD多通道 DMA DMA转运数据 DMAAD多通道 ADC AD单通道 AD.c #include "stm32f10x.h" // Device header/*** brief 初始化AD所需要的所有设备* param 无* retval 无*/ void AD_Init(void) {RCC_APB2PeriphClockCmd(RCC_AP…

Java 集合、迭代器

Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queu…

使用Cargo创建、编译与运行Rust项目

在 Rust 开发中,Cargo 是一个非常重要的工具,它负责项目的构建、管理和依赖管理。以下是如何使用 Cargo 创建、编译和运行 Rust 项目的详细步骤。 1. 创建新项目 首先确保你已经在计算机上安装了 Rust 和 Cargo。然后,在命令行中输入以下命…

Github 2024-02-12 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-02-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目3Python项目3JavaScript项目1TypeScript项目1C项目1C项目1PowerShell项目1非开发语言项目1 SubQuery…

3秒实现无痛基于Stable Diffusion WebUI安装ComfyUI!无需重复安装环境!无需重复下载模型!安装教程

标题略有夸张的表达了接下来这一套确实很简单,相较于直接下载或者通过秋叶包更新而言。大大节省磁盘空间,和下载时间。 这篇教程不需要你有: 代码基础。都是复制粘贴就完事。魔法。 这篇教程默认你已经有: 1. 本地能够正常使用…

【python5】闭包/装饰器,json/configparser/optparse,walk/split/getattr/bin//lspci/ethtool

文章目录 1.闭包和装饰器:函数里return就是闭包2.解析eeprom:如下是二进制文件,C8是一个字节3.json/configparser/optparse:json.dumps(将字典转化为字符串,将json信息写进文件),jso…