如何解决如何使用网格布局 Python Tkinter 在小部件之间平均划分空间
我想在 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,sticky='EW')
btn3 = ttk.Button(win,text='btn3')
btn3.grid(column=2,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,sticky='EW')
btn3 = ttk.Button(win,text='btn3')
btn3.grid(column=2,sticky='EW')
Grid.columnconfigure(win,weight=1)
Grid.columnconfigure(win,1,2,weight=1)
win.mainloop()
如果需要空间,可以将 padx=5
添加到 btn1.grid()
和 btn3.grid()
使用 uniform
参数为所有三列提供统一的宽度。该值可以是任何值,只要对于所有大小相同的列都相同即可。如果您希望它们随着窗口大小的调整而增长,请确保为它们全部赋予非零权重。
win.grid_columnconfigure((0,2),weight=1,uniform="column")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。