使用Tkinter制作一个简单的图形化界面,包括按钮,文本输入框,选择框,文本显示框。使用Tkinter实现程序运行后,可以输入考生姓名,然后选择省份、地区,并选择考生类别和专业信息,单击“增加”按钮,可以将学生信息添加到列表框中;选中列表框中的信息后,单击“删除”按钮,可以删除列表框中的信息。
时间: 2024-03-05 08:54:52 浏览: 59
好的,下面是使用Tkinter实现该功能的代码示例:
```python
import tkinter as tk
class ExamApp:
def __init__(self, master):
self.master = master
master.title("考生信息管理系统")
# 创建控件
self.name_label = tk.Label(master, text="姓名:")
self.name_entry = tk.Entry(master)
self.province_label = tk.Label(master, text="省份:")
self.province_var = tk.StringVar()
self.province_optionmenu = tk.OptionMenu(master, self.province_var, "北京", "上海", "广东", "江苏", "浙江")
self.region_label = tk.Label(master, text="地区:")
self.region_entry = tk.Entry(master)
self.category_label = tk.Label(master, text="考生类别:")
self.category_var = tk.StringVar()
self.category_radios = [
tk.Radiobutton(master, text="普通考生", variable=self.category_var, value="普通考生"),
tk.Radiobutton(master, text="艺术类考生", variable=self.category_var, value="艺术类考生"),
tk.Radiobutton(master, text="体育类考生", variable=self.category_var, value="体育类考生")
]
self.major_label = tk.Label(master, text="专业信息:")
self.major_entry = tk.Entry(master)
self.add_button = tk.Button(master, text="增加", command=self.add_student)
self.delete_button = tk.Button(master, text="删除", command=self.delete_student)
self.student_listbox = tk.Listbox(master)
# 布局控件
self.name_label.grid(row=0, column=0, sticky="w")
self.name_entry.grid(row=0, column=1)
self.province_label.grid(row=1, column=0, sticky="w")
self.province_optionmenu.grid(row=1, column=1)
self.region_label.grid(row=2, column=0, sticky="w")
self.region_entry.grid(row=2, column=1)
self.category_label.grid(row=3, column=0, sticky="w")
for i, radio in enumerate(self.category_radios):
radio.grid(row=3, column=i+1)
self.major_label.grid(row=4, column=0, sticky="w")
self.major_entry.grid(row=4, column=1)
self.add_button.grid(row=5, column=0, columnspan=2)
self.delete_button.grid(row=5, column=2)
self.student_listbox.grid(row=6, column=0, columnspan=3)
def add_student(self):
name = self.name_entry.get()
province = self.province_var.get()
region = self.region_entry.get()
category = self.category_var.get()
major = self.major_entry.get()
student_info = f"{name} ({province} {region} {category} {major})"
self.student_listbox.insert(tk.END, student_info)
def delete_student(self):
selected_indices = self.student_listbox.curselection()
for i in reversed(selected_indices):
self.student_listbox.delete(i)
root = tk.Tk()
app = ExamApp(root)
root.mainloop()
```
这个程序实现了一个简单的考生信息管理系统,可以输入考生姓名,选择省份、地区、考生类别和专业信息,将学生信息添加到列表框中,并且可以删除列表框中的信息。
程序的界面非常简单,只包括几个控件,但是可以通过这个程序学习到Tkinter的基本使用方法。
阅读全文