import randomimport tkinter as tkfrom tkinter import messagebox# Initialize members and selected listsmembers = selected = def input_members input_window = tkToplevel input_windowtitleInput Memb
下面是已添加注释的代码:
import random
import tkinter as tk
from tkinter import messagebox
# Initialize members and selected lists
members = []
selected = []
def input_members():
input_window = tk.Toplevel()
input_window.title("Input Members")
def add_member():
member = entry.get()
if member != "":
members.append(member) # 添加到成员列表
entry.delete(0, tk.END)
def finish_input():
input_window.destroy()
label = tk.Label(input_window, text="Enter member names:")
label.pack()
entry = tk.Entry(input_window)
entry.pack()
add_button = tk.Button(input_window, text="Add Member", command=add_member)
add_button.pack()
finish_button = tk.Button(input_window, text="Finish", command=finish_input)
finish_button.pack()
def remove_selected():
for s in selected:
if s in members:
members.remove(s) # 从成员列表中删除已选择的成员
def pick_member():
if len(members) == 0:
messagebox.showinfo("Pick Member", "All members have been selected!")
return False
selected_member = random.choice(members) # 从成员列表中随机选择一个成员
selected.append(selected_member) # 添加到已选择列表
members.remove(selected_member) # 从成员列表中删除已选择的成员
messagebox.showinfo("Pick Member", f"Congratulations {selected_member} has been selected!")
return True
def show_members():
members_window = tk.Toplevel()
members_window.title("Members")
members_label = tk.Label(members_window, text="Members:")
members_label.pack()
members_listbox = tk.Listbox(members_window)
for member in members:
members_listbox.insert(tk.END, member)
members_listbox.pack()
selected_label = tk.Label(members_window, text="Selected Members:")
selected_label.pack()
selected_listbox = tk.Listbox(members_window)
for member in selected:
selected_listbox.insert(tk.END, member)
selected_listbox.pack()
def main():
main_window = tk.Tk()
main_window.title("Lucky Draw Tool")
def help_command():
messagebox.showinfo("Help", "Available commands:\n"
" help - Show help\n"
" pick - Pick a member\n"
" remove - Remove selected members\n"
" show - Show members and selected members\n"
" quit - Quit the program")
def pick_command():
if pick_member():
return
else:
main_window.quit()
def remove_command():
remove_selected()
messagebox.showinfo("Remove Selected", "Selected members have been removed!")
def show_command():
show_members()
def quit_command():
main_window.quit()
help_button = tk.Button(main_window, text="Help", command=help_command)
help_button.pack()
pick_button = tk.Button(main_window, text="Pick", command=pick_command)
pick_button.pack()
remove_button = tk.Button(main_window, text="Remove", command=remove_command)
remove_button.pack()
show_button = tk.Button(main_window, text="Show", command=show_command)
show_button.pack()
quit_button = tk.Button(main_window, text="Quit", command=quit_command)
quit_button.pack()
main_window.mainloop()
if __name__ == "__main__":
input_members()
main()
``
原文地址: https://www.cveoy.top/t/topic/hX4Q 著作权归作者所有。请勿转载和采集!