Compare commits
No commits in common. "1acd1b7fd4c0268cbdc369e85b7ad37f8a176a6e" and "ae467e072a6b2237ce7972dc9bf299c9ebc6dea2" have entirely different histories.
1acd1b7fd4
...
ae467e072a
30
main.py
30
main.py
@ -15,8 +15,6 @@ DEFAULT_MAX_ID = 45
|
|||||||
PASSWORD = "Admin@123"
|
PASSWORD = "Admin@123"
|
||||||
|
|
||||||
selected_ids = []
|
selected_ids = []
|
||||||
is_running = False
|
|
||||||
job = None
|
|
||||||
|
|
||||||
|
|
||||||
# 注册表工具函数
|
# 注册表工具函数
|
||||||
@ -113,6 +111,7 @@ def generate_random_id(selected_ids, allow_repeat, min_id, max_id):
|
|||||||
else:
|
else:
|
||||||
return random.randint(min_id, max_id)
|
return random.randint(min_id, max_id)
|
||||||
|
|
||||||
|
|
||||||
# 更新历史记录列表
|
# 更新历史记录列表
|
||||||
def update_history_list():
|
def update_history_list():
|
||||||
global history_list
|
global history_list
|
||||||
@ -121,35 +120,22 @@ def update_history_list():
|
|||||||
for id, timestamp in selected_ids:
|
for id, timestamp in selected_ids:
|
||||||
history_list.insert(tk.END, f"{id} ({timestamp})")
|
history_list.insert(tk.END, f"{id} ({timestamp})")
|
||||||
|
|
||||||
# 每隔 5 毫秒更新一次显示的随机学号
|
|
||||||
def update_number(allow_repeat, min_id, max_id):
|
|
||||||
global job
|
|
||||||
if is_running:
|
|
||||||
random_id = generate_random_id(selected_ids, allow_repeat, min_id, max_id)
|
|
||||||
label.config(text=str(random_id))
|
|
||||||
job = root.after(5, update_number, allow_repeat, min_id, max_id)
|
|
||||||
|
|
||||||
# 抽取学号按钮点击事件处理函数
|
# 抽取学号按钮点击事件处理函数
|
||||||
def draw_student_id():
|
def draw_student_id():
|
||||||
global is_running, job, selected_ids
|
global selected_ids
|
||||||
|
load_selected_ids()
|
||||||
allow_repeat, min_id, max_id = load_settings()
|
allow_repeat, min_id, max_id = load_settings()
|
||||||
|
id = generate_random_id(selected_ids, allow_repeat, min_id, max_id)
|
||||||
if is_running:
|
if id is not None:
|
||||||
# 停止跳动,保存最终学号
|
|
||||||
root.after_cancel(job)
|
|
||||||
id = label.cget("text")
|
|
||||||
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
|
label.config(text=str(id), font=("宋体", 50))
|
||||||
selected_ids.append((str(id), timestamp))
|
selected_ids.append((str(id), timestamp))
|
||||||
save_selected_ids()
|
save_selected_ids()
|
||||||
if settings_window:
|
if settings_window:
|
||||||
update_history_list()
|
update_history_list()
|
||||||
button.config(text="开始")
|
|
||||||
is_running = False
|
|
||||||
else:
|
else:
|
||||||
# 开始跳动
|
label.config(text="已抽完所有学号", font=("宋体", 30))
|
||||||
is_running = True
|
|
||||||
button.config(text="停止")
|
|
||||||
update_number(allow_repeat, min_id, max_id)
|
|
||||||
|
|
||||||
|
|
||||||
# 设置按钮点击事件处理函数
|
# 设置按钮点击事件处理函数
|
||||||
@ -324,7 +310,7 @@ label = tk.Label(root, text="", font=("宋体", 50))
|
|||||||
label.pack(pady=20, padx=20)
|
label.pack(pady=20, padx=20)
|
||||||
|
|
||||||
# 创建抽取学号按钮
|
# 创建抽取学号按钮
|
||||||
button = tk.Button(root, text="开始", font=("宋体", 12), command=draw_student_id)
|
button = tk.Button(root, text="抽取学号", font=("宋体", 12), command=draw_student_id)
|
||||||
button.pack(pady=10)
|
button.pack(pady=10)
|
||||||
|
|
||||||
# 创建设置按钮
|
# 创建设置按钮
|
||||||
|
Loading…
x
Reference in New Issue
Block a user