You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:55:29