Tkinter按钮在网格中的对齐

4 投票
1 回答
26425 浏览
提问于 2025-04-17 23:17

我正在尝试在一个框架内的网格上放置两个按钮,这两个按钮会占据整行,不管这个框架的大小如何。简单来说,一个按钮占据一半的行,另一个按钮占据另一半。以下是我的代码:

self.button_frame = tk.Frame(self)
self.button_frame.pack(fill=tk.X, side=tk.BOTTOM)

self.reset_button = tk.Button(self.button_frame, text='Reset')
self.run_button = tk.Button(self.button_frame, text='Run')

self.reset_button.grid(row=0, column=0)
self.run_button.grid(row=0, column=1)

我现在不知道该怎么做了。有什么建议吗?非常感谢!

1 个回答

9

使用 columnconfigure 来设置你表格中每一列的权重。这样,当窗口变大时,这些列也会跟着变大。给你的按钮设置 WE 的粘性值,这样当单元格变大时,按钮也会一起变大。

import Tkinter as tk

root = tk.Tk()

button_frame = tk.Frame(root)
button_frame.pack(fill=tk.X, side=tk.BOTTOM)

reset_button = tk.Button(button_frame, text='Reset')
run_button = tk.Button(button_frame, text='Run')

button_frame.columnconfigure(0, weight=1)
button_frame.columnconfigure(1, weight=1)

reset_button.grid(row=0, column=0, sticky=tk.W+tk.E)
run_button.grid(row=0, column=1, sticky=tk.W+tk.E)

root.mainloop()

结果:

在这里输入图片描述

撰写回答