用python设计一个迷你选课系统,单击课程或学分的列表框可实现联动选课功能,选课后,可将所选课程和学分在文本框中显示
时间: 2024-11-22 16:38:43 浏览: 7
设计一个迷你选课系统的Python界面可以使用Tkinter库,这是一个基本的图形用户界面库。下面是一个简单的示例,展示如何创建一个包含课程列表、学分选择以及结果展示的窗口:
```python
import tkinter as tk
from tkinter import ttk
# 假设我们有如下课程数据
courses = [
{"name": "数学", "credits": 4},
{"name": "英语", "credits": 3},
{"name": "计算机科学", "credits": 5},
]
class CourseSelector(tk.Tk):
def __init__(self):
super().__init__()
self.title("迷你选课系统")
self.geometry("400x200")
# 课程列表框
self.course_listbox = ttk.Combobox(self)
for course in courses:
self.course_listbox.insert("end", course["name"])
self.course_listbox.grid(row=0, column=0, padx=10, pady=10)
# 学分输入框
self.credit_entry = tk.Entry(self)
self.credit_entry.grid(row=0, column=1, padx=10, pady=10)
# 选择按钮
self.select_button = tk.Button(self, text="选课", command=self.show_selected_courses)
self.select_button.grid(row=1, columnspan=2, pady=10)
# 结果文本框
self.result_textbox = tk.Text(self, wrap=tk.WORD, state=tk.DISABLED)
self.result_textbox.grid(row=2, column=0, columnspan=2, sticky="nsew", pady=10)
def show_selected_courses(self):
selected_course = self.course_listbox.get()
if selected_course:
credit = int(self.credit_entry.get())
self.result_textbox.config(state=tk.NORMAL)
self.result_textbox.delete(1.0, tk.END)
self.result_textbox.insert(tk.END, f"您选择了 {selected_course},共需 {credit} 学分.\n")
self.result_textbox.config(state=tk.DISABLED)
if __name__ == "__main__":
app = CourseSelector()
app.mainloop()
```
在这个例子中,用户可以选择课程并输入对应的学分。点击“选课”按钮后,已选择的课程和对应学分会在文本框中显示。
阅读全文