基于python内置库——Tkinter实现简单的学生基本信息管理功能

设计了一个窗体,实现了一个简单的学生基本信息管理功能,可以完成对学生基本信息的增加、删除、修改功能,学生基本信息包括学号、姓名、性别、班级、院系、身份证号码、QQ号、手机号码、电子邮箱、宿舍、家庭住址。

源码:

from tkinter import *  # 导入Tkinter库中的所有类和方法
import tkinter.messagebox as mb  # 从Tkinter库导入消息框模块,用于显示警告或信息消息框
from tkinter import ttk  # 从Tkinter库导入ttk模块,用于访问Tk themed widget集

# 添加信息的函数
def addInfo():
    if not all([var.get() for var in vars_]):  # 检查所有输入字段是否已填写
        mb.showerror("拒绝添加", "信息不完整,请检查")  # 如果有未填写的字段,显示错误消息
        return
    tree.insert("", "end", values=[var.get() for var in vars_])  # 在树视图中添加一行,包含所有输入字段的值
    for var in vars_:  # 清空输入字段,以便下次添加
        var.set("")

# 删除信息的函数
def deleteInfo():
    selection = tree.selection()  # 获取当前选中的项目
    if not selection:
        mb.showerror("删除失败", "请选择要删除的项目")  # 如果没有选中项目,显示错误消息
        return
    tree.delete(selection)  # 删除选中的项目

# 编辑信息的函数
def editInfo():
    selected = tree.selection()  # 获取当前选中的项目
    if not selected:
        mb.showerror("编辑失败", "请选择要编辑的项目")  # 如果没有选中项目,显示错误消息
        return
    item = tree.item(selected)  # 获取选中项目的信息
    values = item["values"]  # 获取项目的值
    for var, value in zip(vars_, values):  # 将项目的值设置到输入字段中,以便编辑
        var.set(value)

root = Tk()  # 创建Tkinter窗口
root.title("学生信息管理系统")  # 设置窗口标题
root.geometry("1400x600+60+100")  # 设置窗口大小和位置
root.resizable(0,0)  # 禁止调整窗口大小

# 定义信息字段
fields = ['学号', '姓名', '性别', '班级', '院系', '身份证号码', 'QQ号', '手机号码', '电子邮箱', '宿舍', '家庭住址']
vars_ = [StringVar() for _ in fields]  # 为每个字段创建一个字符串变量

entries = []  # 存储输入框的列表
x, y = 20, 10  # 定位输入框的起始位置
# 创建标签和输入框
for i, (field, var) in enumerate(zip(fields, vars_)):
    label = Label(root, text=f"{field}:")  # 创建标签
    label.place(x=x, y=y, height=20, width=70)  # 放置标签
    entry = Entry(root, textvariable=var)  # 创建输入框,与字符串变量绑定
    entry.place(x=x+70, y=y, height=20, width=120)  # 放置输入框
    entries.append(entry)  # 将输入框添加到列表中
    # 调整下一个输入框的位置
    if i % 2 == 0:
        x += 230
    else:
        x = 20
        y += 40

# 创建树视图,用于显示信息
tree = ttk.Treeview(root, columns=fields)
for i, field in enumerate(fields):
    tree.heading(f"#{i+1}", text=field)  # 设置每列的标题
    tree.column(f"#{i+1}", width=100)  # 设置每列的宽度
tree.place(x=0, y=240, relwidth=1, relheight=0.7)  # 放置树视图

# 创建按钮并绑定相应的函数
b1 = Button(root, text="添加", command=addInfo)
b1.place(x=500, y=40, height=30, width=70)
b2 = Button(root, text="删除", command=deleteInfo)
b2.place(x=500, y=80, height=30, width=70)
b3 = Button(root, text="编辑", command=editInfo)
b3.place(x=500, y=120, height=30, width=70)

root.mainloop()  # 进入Tkinter事件循环

展示:

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Pythontkinter模块可以很方便地实现学生信息管理系统。 首先,我们可以创建一个主窗口,使用tkinter的Tk()方法创建窗口对象,设置窗口的标题和大小等属性。然后,可以通过Frame来将窗口进行分割,方便将不同的组件放置在不同的区域。 接下来,可以创建一些标签(Label)和文本框(Entry)组件,用于输入和展示学生的信息,如学号、姓名、年龄等。可以使用grid()方法将这些组件放置在窗口的指定位置。 同时,可以创建一些按钮(Button)组件,用于实现各种功能,如添加学生信息、删除学生信息、查询学生信息等。可以使用command属性指定按钮的回调函数,实现按钮被点击时执行的操作。 此外,还可以使用Listbox组件展示所有学生的信息列表。可以通过添加和删除学生信息时,更新这个列表的内容,并且可以使用bind()方法,实现当在列表中选中某个学生时,显示该学生的详细信息。 最后,可以在主窗口中添加菜单栏(Menu)和下拉菜单(Cascade)等组件,实现一些额外的功能,如保存学生信息到文件、从文件中读取学生信息等。 总的来说,使用Pythontkinter模块可以方便地创建一个学生信息管理系统的用户界面。通过合理地使用各种组件,可以实现学生信息的添加、删除、查询和展示等功能,提供便捷的学生信息管理

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值