[英]tkinter deforms my frames after inserting objects
所以我想在一個框架中插入一些對象,但是當我第一次添加一個按鈕時,框架不應該放在哪里。
這是代碼:
import tkinter as tk
root = tk.Tk()
root.geometry("1200x700")
# Main frames
frame1 = tk.Frame(root, width=1200, height=625)
frame2 = tk.Frame(root, width=1200, bg="black", height=75)
frame1.grid(row=1, column=1)
frame2.grid(row=2, column=1)
# Secondary frames
frame1browser = tk.Frame(frame1, height=625, width=850, bg="grey")
frame1a = tk.Frame(frame1,height=625, width=(1200-850))
frame1browser.grid(row=1, column=1)
frame1a.grid(row=1, column=2)
# Last frames
frame1aa = tk.Frame(frame1a, width=(1200-850),height=525, bg="green")
frame1ab = tk.Frame(frame1a, width=(1200-850),height=100, bg="yellow")
frame1aa.grid(row=1, column=1)
frame1ab.grid(row=2, column=1, sticky="nswe")
# Elements that are not frames
Button1 = tk.Button(frame1ab, text="ur mother")
Button1.grid(column=1, row=1)
root.mainloop()
默認情況下,如果框架內有小部件,則框架會忽略顯式給出的寬度/高度。 AFAIK,它找到並使用適合所有小部件所需的最小尺寸,還適應額外的屬性,如sticky
、 expand
等。
要覆蓋此行為,您必須使用<grid/pack>_propagate(False)
,具體取決於您是在框架內的項目上使用pack
還是grid
。 現在框架將按照您指定的大小增長/縮小。
frame1ab.grid_propagate(False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.