Gui编程学生成绩管理系统

仅供参考和学习  作者:黎爬爬

目录

 写在前面

简单的Gui界面(没有用到数据库)

tkinter与sqlite3数据库结合制作的Gui界面


 写在前面

了解一下内容 你需要提前学会基本的tkinter语法 和 sqlite基本操作

安装库:

pip install tkinter

pip install sqlite3

调用库 

from tkinter import *

import sqlite3

简单的Gui界面(没有用到数据库)

from tkinter import *
from tkinter import messagebox
class CalStdScore:
    def __init__(self):
        win=Tk()
        win.geometry('256x192')
        win.title('统计学生成绩')

        lblCpp=Label(win,text='C++程序设计')
        lblCpp.grid(row=0,column=0,padx=5,pady=5,sticky='e')
        self.VCppScore=IntVar()
        entCpp=Entry(win,width=15,textvariable=self.VCppScore)
        entCpp.grid(row=0,column=1,padx=5,pady=5,sticky='w')


        lblPython=Label(win,text='Python程序设计')
        lblPython.grid(row=1,column=0,padx=5,pady=5,sticky='e')
        self.VPythonScore=IntVar()
        entPython=Entry(win,width=15,textvariable=self.VPythonScore)
        entPython.grid(row=1,column=1,padx=5,pady=5,sticky='w')

        lblJave=Label(win,text='Jave程序设计')
        lblJave.grid(row=2,column=0,padx=5,pady=5,sticky='e')
        self.VJaveScore=IntVar()
        entJave=Entry(win,width=15,textvariable=self.VJaveScore)
        entJave.grid(row=2,column=1,padx=5,pady=5,sticky='w')

        btnCalculace=Button(win,text='统计学生成绩',command=self.Calculate,width=15,height=1)
        btnCalculace.grid(row=3,column=0,columnspan=2,pady=5)

        win.mainloop()
    def Calculate(self):
        try:
            xCppScore=int(self.VCppScore.get())
            xPythonScore=int(self.VPythonScore.get())
            xJavaScore=int(self.VJaveScore.get())
            xAvgScore=(xCppScore+xPythonScore+xJavaScore)//3
            xMaxScore=max(xCppScore,xPythonScore,xJavaScore)
            xMinScore=min(xCppScore,xPythonScore,xJavaScore)
            strl="平均成绩:"+str(xAvgScore)+'\n'\
                +"最高成绩:"+str(xMaxScore)+'\n'\
                +"最低成绩"+str(xMinScore)
            messagebox.showinfo(title='统计成绩',message=strl)
        except:
            messagebox.showinfo(title='提示',message='输入错误,重新输入')
CalStdScore()


tkinter与sqlite3数据库结合制作的Gui界面

包含  创建 录入 删除 查询 查找 关闭 等基本内容

.db数据库文件 建议用Vscode sqlite3viwer打开

from tkinter import *
import sqlite3
import tkinter
class student:
    def __init__(self,win):
        self.conn=sqlite3.connect(r"test.db") #连接数据库
        self.cur=self.conn.cursor() #创建游标
        self.win=win
        win.geometry('520x520')
        win.title('学生信息管理 作者:黎爬爬')
        L1=Label(win) #头
        L1.pack()
        
        self.id=IntVar()
        self.name=StringVar()
        self.sex=StringVar()
        self.age=IntVar()
        self.class_=StringVar()
        Label(L1,text='学生管理平台',font=('黑体',15)).grid(row=0,column=0,columnspan=5,sticky='e')
        
        Label(L1,text='学号').grid(row=1,column=0,sticky='w',padx=5,pady=5)
        Entry(L1,textvariable=self.id,width=10).grid(row=1,column=1,sticky='w',padx=5,pady=5)
        
        Label(L1,text='姓名').grid(row=2,column=0,sticky='w',padx=5,pady=5)
        Entry(L1,textvariable=self.name,width=10).grid(row=2,column=1,sticky='w',padx=5,pady=5)

        Label(L1,text='年龄').grid(row=3,column=0,sticky='w',padx=5,pady=5)
        Entry(L1,textvariable=self.age,width=10).grid(row=3,column=1,sticky='w',padx=5,pady=5)

        Label(L1,text='性别').grid(row=2,column=2,sticky='w',padx=5,pady=5)
        Entry(L1,textvariable=self.sex,width=10).grid(row=2,column=3,sticky='w',padx=5,pady=5)

        Label(L1,text='班级').grid(row=3,column=2,sticky='w',padx=5,pady=5)
        Entry(L1,textvariable=self.class_,width=10).grid(row=3,column=3,sticky='w',padx=5,pady=5)

        Button(L1,text='创建',command=self.create,width=5).grid(row=4,column=0,sticky='w',padx=5,pady=5)
        Button(L1,text='录入',command=self.insert,width=5).grid(row=4,column=1,sticky='w',padx=5,pady=5)
        Button(L1,text='删除',command=self.delete,width=5).grid(row=4,column=2,sticky='w',padx=5,pady=5)
        Button(L1,text='修改',command=self.change,width=5).grid(row=4,column=3,sticky='w',padx=5,pady=5)
        Button(L1,text='查询',command=self.find,width=5).grid(row=4,column=4,sticky='w',padx=5,pady=5)
        Button(L1,text='查看',command=self.findall,width=5).grid(row=4,column=5,sticky='w',padx=5,pady=5)
        Button(L1,text='关闭',command=self.close,width=5).grid(row=4,column=6,sticky='w',padx=5,pady=5)
    

        L2=Label(win,width=500,height=200,relief="sunken")
        
        self.text=Text(L2,width=50,height=30)
        self.text.grid(row=1,column=0,sticky='e')
        L2.pack()
    def create(self):
        sql='''
        create table studentsystem(
        sid char(7) primary key,
        sname varchar(8),
        ssex char(2),
        sage smallint,
        sclass varchar(16));
        '''
        self.cur.execute(sql)
        self.conn.commit()

    def insert(self):
        id=self.id.get()
        name=self.name.get()
        sex=self.sex.get()
        age=self.age.get()
        class_=self.class_.get()

        self.cur.execute("insert into studentsystem values('%s','%s','%s',%d,'%s')"%(id,name,sex,age,class_))
        self.conn.commit()
    
    def delete(self):
        id=self.id.get()
        
        self.cur.execute('delete from studentsystem where sid=%d'%id)
        self.conn.commit()
        
    def change(self):
        name=self.name.get()
        id=self.id.get()
        sex=self.sex.get()
        age=self.age.get()
        class_=self.class_.get()
        sql = 'update studentsystem set sname=?, ssex=?, sage=?, sclass=? where sid=?'
        student_data = (name, sex, age,class_,id)
        self.cur.execute(sql,student_data)
        self.conn.commit()

    def find(self):
        id=self.id.get()
        
        data=self.cur.execute('select * from studentsystem where sid=%s'%id)
        strdata=''
        
        for item in data:
            strdata=strdata+str(item)
        self.text.insert(1.5,strdata)
        self.conn.commit()
        

    def findall(self):
        sql='''
        select * from studentsystem
        '''
        data=self.cur.execute(sql)
        strdata=''
        for item in data:
            strdata=strdata+str(item)
        self.text.insert(1.5,strdata)
        self.conn.commit()
    def close(self):
        self.cur.close()
        self.conn.close()
        win.destroy()
win=Tk()
student(win)
win.mainloop()        

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 学生管理系统是一款用于管理学生信息、课程、成绩等数据的软件系统。tkinter是Python提供的一个常用的图形界面开发库,可以用来创建用户友好的图形界面。下面是使用tkinter开发学生管理系统的源代码和运行截图。 源代码: ``` import tkinter as tk def add_student(): # 添加学生按钮的回调函数 # TODO: 实现添加学生功能的代码 pass def search_student(): # 搜索学生按钮的回调函数 # TODO: 实现搜索学生功能的代码 pass def delete_student(): # 删除学生按钮的回调函数 # TODO: 实现删除学生功能的代码 pass def update_student(): # 更新学生按钮的回调函数 # TODO: 实现更新学生功能的代码 pass def display_students(): # 显示学生按钮的回调函数 # TODO: 实现显示学生功能的代码 pass # 创建主窗口 root = tk.Tk() root.title("学生管理系统") # 创建添加学生按钮 add_btn = tk.Button(root, text="添加学生", command=add_student) add_btn.pack() # 创建搜索学生按钮 search_btn = tk.Button(root, text="搜索学生", command=search_student) search_btn.pack() # 创建删除学生按钮 delete_btn = tk.Button(root, text="删除学生", command=delete_student) delete_btn.pack() # 创建更新学生按钮 update_btn = tk.Button(root, text="更新学生", command=update_student) update_btn.pack() # 创建显示学生按钮 display_btn = tk.Button(root, text="显示学生", command=display_students) display_btn.pack() # 进入消息循环 root.mainloop() ``` 运行截图: ![学生管理系统截图](https://example.com/学生管理系统截图.png) 截图中显示了学生管理系统的图形界面,包括添加学生、搜索学生、删除学生、更新学生和显示学生等功能的按钮。用户可以通过点击相应的按钮来执行相应的操作,实现对学生信息的管理。 ### 回答2: 学生管理系统是一个可以帮助学校、教师和学生有效管理学生信息的软件程序。使用tkinter可以开发一个基于图形界面的学生管理系统。 以下是学生管理系统的源代码示例: ```python import tkinter as tk def show_students(): # 在这个函数中展示学生信息 def add_student(): # 在这个函数中添加一个新的学生 def update_student(): # 在这个函数中更新学生信息 def delete_student(): # 在这个函数中删除学生信息 def main(): window = tk.Tk() window.title("学生管理系统") # 创建主菜单 menu = tk.Menu(window) window.config(menu=menu) # 子菜单 operation_menu = tk.Menu(menu) menu.add_cascade(label="操作", menu=operation_menu) operation_menu.add_command(label="显示学生信息", command=show_students) operation_menu.add_command(label="添加学生", command=add_student) operation_menu.add_command(label="更新学生信息", command=update_student) operation_menu.add_command(label="删除学生", command=delete_student) window.mainloop() if __name__ == "__main__": main() ``` 使用tkinter开发的学生管理系统应该包含一些功能,如展示学生信息、添加学生、更新学生信息和删除学生。 以下是学生管理系统运行截图示例: ![学生管理系统运行截图](https://example.com/student-management-system-screenshot.png) ### 回答3: 学生管理系统是一种常见的教育管理工具,可以用来管理学生的基本信息、课程安排、成绩记录等。在本次项目中,我们将使用Python的tkinter库来开发一个简单学生管理系统。 首先,我们需要导入tkinter库和其他必要的模块。然后,我们可以创建一个主窗口,并设置窗口的标题和尺寸。 ``` from tkinter import * root = Tk() root.title("学生管理系统") root.geometry("800x600") ``` 接下来,我们可以在主窗口中添加各种标签、文本框、按钮等组件,来实现不同的功能。例如,我们可以添加一个标签和一个文本框,用来输入学生的姓名。 ``` label_name = Label(root, text="姓名:") label_name.pack() entry_name = Entry(root) entry_name.pack() ``` 我们还可以添加一个按钮,用来保存学生的信息。 ``` def save_student(): name = entry_name.get() # 将学生信息保存到数据库或文件中 button_save = Button(root, text="保存", command=save_student) button_save.pack() ``` 除了输入和保存学生的基本信息之外,我们还可以添加其他功能,例如查询学生信息、编辑学生信息、删除学生等。 最后,我们可以使用root.mainloop()来进入主循环,使程序一直运行,并等待用户操作。 ``` root.mainloop() ``` 以上是一个简单学生管理系统的开发示例。当然,实际的学生管理系统需要更复杂的功能和界面设计,并且需要与数据库或文件进行交互来保存和获取学生信息。在实际开发中,还需要处理各种异常情况和错误处理,确保系统的稳定性和安全性。 运行截图: [![学生管理系统截图](https://example.com/example.png)](https://example.com/example.png)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涡巻ナルト人≥サス

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值