如何使用网格布局 Python Tkinter 在小部件之间平均分配 space
How to divide space equally between widgets using Grid Layout Python Tkinter
我想在 Tkinter 中使用网格布局将 space 平均分配给三个按钮。即使 window 水平调整大小时,这些按钮也应平均占据 space。
################################
#| 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()
这有帮助吗?
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()
如果你想要space,你可以在btn1.grid()
和btn3.grid()
中添加padx=5
使用 uniform
参数为所有三列提供统一的 width.The 值可以是任何值,只要所有列的大小相同即可。如果您希望它们随着 window 大小的调整而增长,请务必为它们赋予非零权重。
win.grid_columnconfigure((0,1,2), weight=1, uniform="column")
我想在 Tkinter 中使用网格布局将 space 平均分配给三个按钮。即使 window 水平调整大小时,这些按钮也应平均占据 space。
################################
#| 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()
这有帮助吗?
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()
如果你想要space,你可以在btn1.grid()
和btn3.grid()
padx=5
使用 uniform
参数为所有三列提供统一的 width.The 值可以是任何值,只要所有列的大小相同即可。如果您希望它们随着 window 大小的调整而增长,请务必为它们赋予非零权重。
win.grid_columnconfigure((0,1,2), weight=1, uniform="column")