如何让Tkinter中的密码输入框与其他输入框左对齐?
解决Tkinter密码管理器输入框对齐问题
你的密码输入框和上方的Website、Email/Username输入框起始位置不对齐,核心原因是grid布局未设置统一的组件对齐规则,导致不同行的输入框在列内的位置没有统一标准。
直接修改代码中组件的grid参数即可解决:
from tkinter import * window=Tk() window.title("Password Manager") window.config(padx=20,pady=20) canvas=Canvas(height=200, width=200) logo_img=PhotoImage(file="logo.png") canvas.create_image(100, 100,image=logo_img) canvas.grid(column=1, row=0) # Creating Website website_label=Label(text="Website:") website_label.grid(row=1,column=0, sticky="w") # 强制左对齐 website_entry=Entry(width=35) website_entry.grid(column=1, row=1,columnspan=2, sticky="w") # 强制左对齐 # Creating Email/Username email_label=Label(text="Email/Username:") email_label.grid(row=2,column=0, sticky="w") # 强制左对齐 email_entry=Entry(width=35) email_entry.grid(column=1, row=2,columnspan=2, sticky="w") # 强制左对齐 # Creating Password password_label=Label(text="Password:") password_label.grid(row=3,column=0, sticky="w") # 强制左对齐 password_entry=Entry(width=21) password_entry.grid(column=1, row=3, sticky="w") # 强制左对齐,与上方输入框起始位置统一 # Adding Buttons generate_password_button=Button(text="Generate Password") generate_password_button.grid(column=2, row=3, sticky="w") # 可选:让按钮也左对齐,视觉更协调 add_button=Button(text="Add",width=36) add_button.grid(column=1, row=4,columnspan=2, sticky="w") window.mainloop()
关键修改说明:
- 给所有
Label和Entry的grid方法添加sticky="w"参数,强制组件在单元格内左对齐,确保同一列的组件起始位置完全一致。 - 密码输入框所在的列1通过同样的左对齐规则,直接解决与上方输入框的错位问题。
内容的提问来源于stack exchange,提问作者Aman Goel
相关产品推荐
相关产品推荐

