import csv import tkinter as tk from tkinter import ttk, messagebox def process_csv(filename): with open(filename, 'r') as csvfile: contents = csv.DictReader(csvfile) infos=list(contents) infos=sorted(infos, key=lambda x:int(x['成绩']),reverse=True) return infos window = tk.Tk() window.title('学生成绩排行榜') window.geometry('500x400') window.configure(bg='#f0f4f7') # 设置统一字体 style = ttk.Style() style.configure('Treeview', font=('华文行楷', 12), rowheight=28) style.configure('Treeview.Heading', font=('华文行楷', 13, 'bold')) # 标题标签 title_label = tk.Label(window, text="学生成绩排行榜", bg='#f0f4f7', fg='#336699',font=('华文行楷', 20, 'bold')) title_label.pack(pady=15) # 表格 columns = ('姓名', '成绩') tree = ttk.Treeview(window, columns=columns, show='headings', height=12) tree.heading('姓名', text='姓名') tree.heading('成绩', text='成绩') tree.column('姓名', anchor='center', width=200) tree.column('成绩', anchor='center', width=100) infos = process_csv('score.csv') for info in infos: tree.insert('', tk.END, values=(info['姓名'], info['成绩'])) tree.pack(pady=10) # 运行主窗口 window.mainloop()