簡體   English   中英

tkinter 在插入對象后使我的框架變形

[英]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,它找到並使用適合所有小部件所需的最小尺寸,還適應額外的屬性,如stickyexpand等。

要覆蓋此行為,您必須使用<grid/pack>_propagate(False) ,具體取決於您是在框架內的項目上使用pack還是grid 現在框架將按照您指定的大小增長/縮小。

frame1ab.grid_propagate(False)

暫無
暫無

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

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