Python 小部件放置

Python 小部件放置,python,tkinter,Python,Tkinter,我想把两个Entry小部件分别放在窗口的中心(hour\u en和min\u en)和它们上面的两个Label小部件(hour\u lbl和min\u lbl),但我拿不到它。我更喜欢grid()而不是pack() 这是我的密码: from tkinter import tk window=Tk() window.configure(bg='#10100f') window.geometry("200x100") window.resizable(False, False)

我想把两个
Entry
小部件分别放在窗口的中心(
hour\u en
min\u en
)和它们上面的两个
Label
小部件(
hour\u lbl
min\u lbl
),但我拿不到它。我更喜欢
grid()
而不是
pack()

这是我的密码:

from tkinter import tk

window=Tk()
window.configure(bg='#10100f')
window.geometry("200x100")
window.resizable(False, False)

hour_lbl =Label(window,text="Hour")
hour_lbl.pack(side =TOP)
min_lbl = Label(window, text="Min")
min_lbl.pack(side=TOP)
hour_en = Entry(window, width=4)
hour_en.pack(side=LEFT,padx=(65, 0))
min_en = Entry(window, width=4)
min_en.pack(side=LEFT, padx=(10, 0))

window.mainloop()

为了安排这些小部件使用网格几何管理器,有一些优秀的文档,如前面提到的。比如说

将这4个小部件放在一个框架中,以便以后可以简单地将框架居中,从而将一组小部件放在其中(如注释中所建议的)

更改后,您的代码可能如下所示:

from tkinter import *

window = Tk()
window.configure(bg='#10100f')
window.geometry("200x100")
window.resizable(False, False)

center_frame = Frame(window)

Label(center_frame, text="Hour").grid(row=0, column=0)
Label(center_frame, text="Min").grid(row=0, column=1)

Entry(center_frame, width=4).grid(row=1, column=0)
Entry(center_frame, width=4).grid(row=1, column=1)

center_frame.pack(anchor='center', expand=True)

window.mainloop()

如果您更喜欢
grid
而不是
pack
,那么您为什么使用
pack
,为什么不尝试
grid
?关于如何使用
网格
,有很多信息,所有的选项都有文档记录。最好将标签和条目放在一个框架中,与一组小部件相比,将框架居中更容易。