python实现单击课程或学分的列表框均可联动实现选课,并将所选课程和学分追加呈现在文本框中。
时间: 2024-12-15 22:18:28 浏览: 11
在Python中,特别是使用Tkinter库来构建GUI界面时,你可以实现这样的功能。首先,你需要创建两个列表框,一个用于显示课程列表,另一个用于显示学分。然后,你可以为这两个列表框绑定`<Button-1>`事件,当用户点击时,会触发一个回调函数。
在这个回调函数中,你需要获取当前选择的项目,可能是课程名或学分,将其添加到对应的文本框中。可以使用`listbox.curselection()`获取当前选中的索引,然后通过索引来获取列表的内容。
以下是一个简单的示例:
```python
import tkinter as tk
# 假设你有课程名和对应学分的数据存储在一个字典里
courses = {
'课程1': 3,
'课程2': 4,
# 更多课程...
}
def update_selection(event):
selected_course = courses[listbox_courses.get(listbox_courses.curselection()))
text_box_credits.delete(0, tk.END) # 清空之前的选择
text_box_credits.insert(tk.END, f"选课: {selected_course[0]}, 学分: {selected_course[1]}")
root = tk.Tk()
listbox_courses = tk.Listbox(root)
text_box_credits = tk.Text(root)
# 将数据填充到课程列表框
for course, credit in courses.items():
listbox_courses.insert(tk.END, course)
# 绑定事件处理
listbox_courses.bind("<Button-1>", update_selection)
# 显示列表框和文本框
listbox_courses.pack()
text_box_credits.pack()
root.mainloop()
```
阅读全文