簡體   English   中英

筆記本小部件 - 小部件之間的空間

[英]notebook widget - space between widgets

我正在嘗試在筆記本頂部面板和 frame0\frame1\frame2 之間實現空間,為什么當我使用 pady 時,例如:

frame0.grid(row=0, column=0, pady=5)
frame1.grid(row=0, column=0, pady=5)
frame2.grid(row=0, column=0, pady=5)

但是沒有變化..筆記本面板和框架粘在一起..為什么這里的pad不影響? (例如……我出於同樣的原因添加了 main_frame 以在 window 和筆記本電腦之間獲得空間……將所有筆記本電腦向下推)

在此處輸入圖像描述

import tkinter
import tkinter.ttk

window = tkinter.Tk()

main_frame = tkinter.ttk.Frame(window)

nb = tkinter.ttk.Notebook(main_frame)

frame0 = tkinter.ttk.Frame(nb)
frame1 = tkinter.ttk.Frame(nb)
frame2 = tkinter.ttk.Frame(nb)

lb0 = tkinter.ttk.Label(frame0, text= "Hello world")
lb1 = tkinter.ttk.Label(frame1, text= "One Two Three")
lb2 = tkinter.ttk.Label(frame2, text= "Test")

lb0.grid(row=0, column=0)
lb1.grid(row=1, column=0)
lb2.grid(row=2, column=0)

frame0.grid(row=0, column=0)
frame1.grid(row=0, column=0)
frame2.grid(row=0, column=0)

nb.add(frame0, text="tab0")
nb.add(frame1, text="tab1")
nb.add(frame2, text="tab2")

nb.grid(row=0, column=0)
main_frame.grid(row=0, column=0,pady=5)

window.mainloop()

因為您正在將框架添加到筆記本中。 對於這些幀,調用grid的結果將被忽略。

add方法接受可以具有一到四個值的padding選項。 來自官方文檔:

padding 是一個最多四個長度規格的列表left top right bottom 如果指定的元素少於四個,則底部默認為頂部,右側默認為左側,頂部默認為左側。

因此,要僅在頂部添加 20 像素的填充,您可以這樣做:

nb.add(frame0, text="tab0", padding=(0, 20, 0, 0))
nb.add(frame1, text="tab1", padding=(0, 20, 0, 0))
nb.add(frame2, text="tab2", padding=(0, 20, 0, 0))

帶有 20px 填充的屏幕截圖 > 為什么這里的水沒有影響?

這是 1 個選項卡的代碼。 我正在使用框架來添加間距。

import tkinter
import tkinter.ttk
from tkinter import *

window = tkinter.Tk()

tabControl = ttk.Notebook(window)

tab1 = ttk.Frame(tabControl)
tabControl.add(tab1, text='tab1')

Frame_1 = Frame(tab1, pady=8)
Frame_1.grid(row=1,column=0)


lb0 = Label(Frame_1, text= "Hello world")
lb0.grid(row=0, column=0)


tabControl.grid(row=0, column=0)

window.mainloop()

暫無
暫無

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

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