下面是已添加注释的代码:

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()
``
import randomimport tkinter as tkfrom tkinter import messagebox# Initialize members and selected listsmembers = selected = def input_members input_window = tkToplevel input_windowtitleInput Memb

原文地址: https://www.cveoy.top/t/topic/hX4Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录