有没有办法使用Tkinter来设置按钮,以便它们始终从窗口边缘放置一定数量的像素,即使窗口调整大小?我尝试过使用锚点,但似乎并没有在窗口中移动那么多。
答案 0 :(得分:1)
您可以通过以 Frame 开头,并将其行和列配置为权重 1 ,将按钮或任何其他窗口小部件锚定到窗口的两侧命令它填充父窗口。
import Tkinter as tk
import ttk
root = tk.Tk()
frame = ttk.Frame(root)
frame.pack(fill=tk.BOTH, expand=True)
frame.columnconfigure(index=0, weight=1)
frame.columnconfigure(index=2, weight=1)
frame.rowconfigure(index=0, weight=1)
frame.rowconfigure(index=2, weight=1)
然后,对于您想要使用 sticky 将每个按钮锚定到相应的一侧的每个按钮,并使用 padx 或 pady 添加一些按钮和窗口之间的填充(以像素为单位)。
top_padding = 5
top = ttk.Button(frame, text="Top")
top.grid(row=0, column=1, sticky=tk.N, pady=(top_padding, 0))
left_padding = 5
left = ttk.Button(frame, text="Left")
left.grid(row=1, column=0, sticky=tk.W, padx=(left_padding, 0))
right_padding = 5
right = ttk.Button(frame, text="Right")
right.grid(row=1, column=2, sticky=tk.E, padx=(0, right_padding))
bottom_padding = 5
bottom = ttk.Button(frame, text="Bottom")
bottom.grid(row=2, column=1, sticky=tk.S, pady=(0, bottom_padding))
root.mainloop()
答案 1 :(得分:0)
您是否尝试过使用padx
功能?
它的工作原理如下:
button=Button(place,text="something something", padx=10)
它在小部件之间提供了额外的水平填充,但是,你可以使用frames和padx以及一个锚来使文本固定到一个位置