在tkinter python中看不到框架

问题描述

嘿,我正在尝试使用tkinter制作gui,以下是我使用的代码。问题是没有错误,程序执行并且我将看到根目录但没有frame.before按钮,我能够看到框架,但是添加按钮后框架消失了,我只能看到按钮,请帮助

    from tkinter import*
    from tkinter import ttk
    root=Tk()
    root.title("STUDY")
    style=ttk.Style() 
    style.configure("custom.TFrame",background="black")
    frame=ttk.Frame(root,style="custom.TFrame")
    frame.pack()
    frame.config(height=100,width=100)
    ttk.Button(frame,text="CLICK ME").pack()
    root.mainloop()

解决方法

tkinter的几何管理的特点是此报价 在这里:

默认情况下,顶层窗口以自然的方式出现在屏幕上 大小,这是由其内部小部件和 几何经理。

您的相框的行为相同。如果框架不包含任何内容,则其宽度和高度均为0,这就是为什么您看不到它的原因。

一种使用pack_propagategrid_propagate的方法取决于您打算在此框架中使用什么。

另一种不寻常的方法是在该框架中创建第二个框架并为其设置宽度高度,外框架将检查内部框架的宽度和高度并将其固定。 See

可能还有其他方式,例如对于几何管理器pack而言,选项fillexpand

For more