我正在尝试使用 tkinter 库为我的程序创建界面。
我的界面应该是这样的
按钮 1
按钮 2
按钮 3
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 操作系统
如何设置参数得到想要的格式
提前致谢..:)
最佳答案
您可以通过三个简单的步骤解决您的问题。首先,删除所有 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
,但这个决定实际上只是一个偏好问题。
关于python - 将小部件放在窗口上(使用 tkinter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033876/