簡體   English   中英

如何使 tkinter 的“擴展”在小部件之間給出相等的間隙?

[英]How to make tkinter's `expand` give equal gaps between widgets?

如果你.pack(side=LEFT, expand=True) 3 個小部件,你會得到:

tkinter 不等間距

圖片來源 .grid(...)也是如此。

請注意,有 4 個垂直間隙:左側,中間兩個,右側。 但是,左右的差距是中間的一半。

我的問題是:如何使expand工作更均勻,使四個垂直間隙都相等?

.pack的手冊頁,以防萬一。

可以使用.grid()來完成。 您需要將這些標簽放在第 1、3、5 列中,並使用.columnconfigure()在第 0、2、4、6 列上設置weight=1, uniform=1

import tkinter as tk

root = tk.Tk()
root.geometry("400x200")

frm = tk.Frame(master=root, bg="yellow")
# set weight=1 and uniform=1 on column 0,2,4,6
frm.columnconfigure(index=(0,2,4,6), weight=1, uniform=1)

# put labels in column 1, 3, 5
for i in range(1, 6, 2):
    tk.Label(master=frm, text=i, bg="red", padx=40, pady=10).grid(row=0, column=i)

frm.pack(fill="both", expand=True)

root.mainloop()

結果:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM