我正在尝试使用tkinter库为我的程序创建界面。
我的界面应该像这样显示
BUTTON1
BUTTON2
BUTTON3
B.pack(side = "left", padx = 00, pady = 0)
C.pack(side = "left", padx = 100, pady = 100)
D.pack(side = "left", padx = 50, pady = 120)
我已经尝试更改padx和pady的参数, 但它仍然出现在同一行。我正在使用ubuntu 13.04 OS
如何设置参数以获得所需的格式
提前致谢.. :))
答案 0 :(得分:1)
您可以通过三个简单步骤解决问题。首先,删除所有padx
因为它们使按钮不对齐。其次,使用anchor = "w"
使按钮左对齐。第三,将side
设置为"top"
,以便按钮垂直放置而不是水平放置。 (但是,由于side
默认为“top”,因此您可以完全删除它。以下是固定脚本:
from Tkinter import Tk, Button
root = Tk()
B = Button(root, text="BUTTON1")
C = Button(root, text="BUTTON2")
D = Button(root, text="BUTTON3")
B.pack(anchor = "w", pady = 0)
C.pack(anchor = "w", pady = 100)
D.pack(anchor = "w", pady = 120)
root.mainloop()
另一种方法是使用grid
方法而不是pack
:
from Tkinter import Tk, Button, W
root = Tk()
B = Button(root, text="BUTTON1")
C = Button(root, text="BUTTON2")
D = Button(root, text="BUTTON3")
# 'row' sets the row number that the widget is placed on
# 'sticky' is the same as 'anchor'
B.grid(row=0, pady=0, sticky=W)
C.grid(row=1, pady=100, sticky=W)
D.grid(row=2, pady=120, sticky=W)
root.mainloop()
虽然我个人更喜欢grid
而不是pack
,但这个决定只是一个偏好问题。