【发布时间】:2015-09-16 16:33:06
【问题描述】:
我正在用 Python 编写一个程序,我想使用一个在中心有一堆按钮的布局。如何使用 pack() 使按钮居中?
【问题讨论】:
-
你有没有尝试过,如果有的话,包括任何代码,说明你卡在哪里。
-
这个相关问题可能会有所帮助:stackoverflow.com/q/5114487/945456
我正在用 Python 编写一个程序,我想使用一个在中心有一堆按钮的布局。如何使用 pack() 使按钮居中?
【问题讨论】:
如果这不能解决您的问题
button.pack(side=TOP)
你需要使用方法
button.grid(row=1,col=0)
row=1,col=0 的值取决于窗口中其他小部件的位置
或者你可以使用.place(relx=0.5, rely=0.5, anchor=CENTER)
button.place(relx=0.5, rely=0.5, anchor=CENTER)
使用.place()的示例:
from tkinter import * # Use this if use python 3.xx
#from Tkinter import * # Use this if use python 2.xx
a = Button(text="Center Button")
b = Button(text="Top Left Button")
c = Button(text="Bottom Right Button")
a.place(relx=0.5, rely=0.5, anchor=CENTER)
b.place(relx=0.0, rely=0.0, anchor=NW)
c.place(relx=1.0, rely=1.0, anchor=SE)
mainloop()
【讨论】:
anchor=CENTER,它们会相互重叠吗?
columnspan 或rowspan 选项(参见此处:effbot.org/tkinterbook/grid.htm),甚至可能使用Grid.columnconfigure 和Grid.rowconfigure将权重从 0 更改为 1 的方法(参见此处:stackoverflow.com/questions/7591294/…)。无论哪种情况,使用您提到的其他几何管理器显示您在上面所做的示例也会有所帮助。