import tkinter as tk from tkinter import ttk import json def create_login_window(): # 创建主窗口 root = tk.Tk() root.title("Integrated Window") # 设置窗口的初始大小并居中显示 window_width = 600 window_height = 400 screen_width = root.winfo_screenwidth() screen_height = root.winfo_screenheight() center_x = int(screen_width / 2 - window_width / 2) center_y = int(screen_height / 2 - window_height / 2) root.geometry(f"{window_width}x{window_height}+{center_x}+{center_y}") # 用户名和密码变量 username_var = tk.StringVar() password_var = tk.StringVar() # 下拉选择框的选项 options = ['网络文明志愿者', '团学干部', '大学生心理健康教育', '入党积极分子'] # 创建下拉选择框 combo_label = tk.Label(root, text="选择学习类型", font=('Helvetica', 12)) combo_label.pack(pady=(10, 5)) combo = ttk.Combobox(root, values=options, width=15, state="readonly") combo.pack(pady=(0, 20)) # pady增加垂直外边距,有助于在窗口中垂直居中 # 创建用户名和密码的标签和输入框 username_label = tk.Label(root, text="账号", font=('Helvetica', 12)) username_label.pack(pady=(5, 5)) username_entry = tk.Entry( root, textvariable=username_var, font=('Helvetica', 12)) username_entry.pack(pady=(0, 10)) password_label = tk.Label(root, text="密码", font=('Helvetica', 12)) password_label.pack(pady=(5, 5)) password_entry = tk.Entry( root, textvariable=password_var, font=('Helvetica', 12), show="*") password_entry.pack(pady=(0, 20)) # 确定按钮的事件处理函数 def submit_action(): username = username_var.get().upper() password = password_var.get() study_type = combo.get() if study_type not in options: return with open('info.json', 'w') as f: json.dump({'username': username, 'password': password, 'study_type': study_type}, f) root.destroy() submit_button = tk.Button(root, text="提交", command=submit_action) submit_button.pack(pady=(10, 0)) # 运行主循环 root.mainloop() # 调用函数以创建和显示登录窗口 if __name__ == "__main__": create_login_window()