0

我想使用 Tkinter 中的网格布局在三个按钮之间平均分配空间。即使水平调整窗口大小,这些按钮也应该平均占用空间。

################################
#|  btn1  ||  btn2  ||  btn3  |#
################################

这是我的代码:

import tkinter as tk
from tkinter import ttk

win = tk.Tk()
win.grid_columnconfigure(0, weight=1)

btn1 = ttk.Button(win, text='btn1')
btn1.grid(column=0, row=0, columnspan=1, sticky='EW')

btn2 = ttk.Button(win, text='btn2')
btn2.grid(column=1, row=0, columnspan=1, sticky='EW')

btn3 = ttk.Button(win, text='btn3')
btn3.grid(column=2, row=0, columnspan=1, sticky='EW')

win.mainloop()

4

2 回答 2

1

这有帮助吗?

import tkinter as tk
from tkinter import Grid, ttk

win = tk.Tk()

btn1 = ttk.Button(win, text='btn1')
btn1.grid(column=0, row=0, columnspan=1, sticky='EW')

btn2 = ttk.Button(win, text='btn2')
btn2.grid(column=1, row=0, columnspan=1, sticky='EW')

btn3 = ttk.Button(win, text='btn3')
btn3.grid(column=2, row=0, columnspan=1, sticky='EW')
Grid.columnconfigure(win,0, weight=1)
Grid.columnconfigure(win,1, weight=1)
Grid.columnconfigure(win,2, weight=1)


win.mainloop()

如果你想要空间,你可以添加padx=5btn1.grid()btn3.grid()

于 2021-06-14T02:28:44.210 回答
1

使用该uniform参数为所有三列提供统一的宽度。该值可以是任何值,只要对于要具有相同大小的所有列都相同。如果您希望它们随着窗口大小的调整而增长,请务必给它们一个非零权重。

win.grid_columnconfigure((0,1,2), weight=1, uniform="column")
于 2021-06-14T02:29:44.427 回答