我刚开始学习tkinter,在使用网格移动项目时遇到麻烦。我假设这是一个简单的解决方法,但是我试图使密码输入和“生成密码”按钮的位置比附件图像中的位置更近(基本上,我希望所有内容都对齐)。我怎样才能做到这一点?我在这里和其他地方都看过,但似乎找不到能重现我问题的任何东西。
from tkinter import *
window = Tk()
window.title("Password Manager")
window.config(padx=50, pady=50)
canvas = Canvas(height=200, width=200)
canvas.grid(column=1, row=0)
lock = PhotoImage(file="logo.png")
canvas.create_image(100, 100, image=lock)
website = Label(text="Website:")
website.grid(column=0, row=1)
email_user_name = Label(text="Email/Username:")
email_user_name.grid(column=0, row=2)
password = Label(text="Password:")
password.grid(column=0, row=3)
website_entry = Entry(width=35)
website_entry.grid(column=1, row=1, columnspan=2)
email_entry = Entry(width=35)
email_entry.grid(column=1, row=2, columnspan=2)
password_entry = Entry(width=21)
password_entry.grid(column=1, row=3)
generate_button = Button(text="Generate Password")
generate_button.grid(column=2, row=3)
add_button = Button(text="Add", width=30)
add_button.grid(column=1, row=4, columnspan=2)
window.mainloop()
您可以添加sticky="e"
到grid(...)
标签上,并sticky="w"
在条目:
from tkinter import *
window = Tk()
window.title("Password Manager")
window.config(padx=50, pady=50)
canvas = Canvas(height=200, width=200)
canvas.grid(column=1, row=0)
lock = PhotoImage(file="logo.png")
canvas.create_image(100, 100, image=lock)
website = Label(text="Website:")
website.grid(column=0, row=1, sticky="e")
email_user_name = Label(text="Email/Username:")
email_user_name.grid(column=0, row=2, sticky="e")
password = Label(text="Password:")
password.grid(column=0, row=3, sticky="e")
website_entry = Entry(width=35)
website_entry.grid(column=1, row=1, columnspan=2, sticky="w")
email_entry = Entry(width=35)
email_entry.grid(column=1, row=2, columnspan=2, sticky="w")
password_entry = Entry(width=21)
password_entry.grid(column=1, row=3, columnspan=2, sticky="w")
generate_button = Button(text="Generate Password")
generate_button.grid(column=3, row=3, sticky="w")
add_button = Button(text="Add", width=30)
add_button.grid(column=1, row=4, columnspan=2)
window.mainloop()
请注意,我已经加入columnspan=2
到password_entry.grid(...)
与移动generate_button
至第3列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句