【问题标题】:Tkinter Frame not appearingTkinter 框架没有出现
【发布时间】:2020-08-22 08:51:43
【问题描述】:

我在 python 的 tkinter 中写了一小段代码,看看我是否可以让一个框架出现在我的窗口中。下面是代码:

from tkinter import *


root = Tk()
root.title("Window")
root.state("zoomed")
root.config(bg="white")

winHeight = int(root.winfo_height())
winWidth = int(root.winfo_width())

controlFrame = Frame(root, bg="red")
controlFrame.pack()
    
root.mainloop()

我创建了一个背景颜色为白色的全尺寸窗口。它里面的框架应该是红色的。但是,当我运行此代码时,我看不到任何红色。我确定我把它和所有东西都打包好了。

【问题讨论】:

    标签: python tkinter python-3.7


    【解决方案1】:

    我很乐意帮助你解决这个问题...

    您现在可能没有注意到一个微小的细节,但实际上框架存在于窗口中,但它太小而无法看到。我的意思是您没有指定放置在窗口中的框架的高度和宽度。这是固定版本:

    from tkinter import *
    
    
    root = Tk()
    root.title("Window")
    root.state("zoomed")
    root.config(bg="white")
    
    winHeight = int(root.winfo_height())
    winWidth = int(root.winfo_width())
    
    controlFrame = Frame(root, bg="red", height = 700, width = 700)
    controlFrame.pack()
        
    root.mainloop()
    

    这样做只需将框架的高度和宽度设置为 700 像素,这样您就会得到一个红色的方形框架。

    我希望这个答案是令人满意的。

    【讨论】:

    • 谢谢,但我已经尝试过这样做,但仍然无法正常工作,我将发送代码
    • controlFrame = Frame(root, width=700, height=700, bg="red") controlFrame.pack() ```
    • 有什么办法可以把它放在某个位置
    • @HarmanPunchi 你可以尝试使用place(...)来控制它的位置和大小,例如controlFrame.place(x=100, y=100, width=400, height=200)
    【解决方案2】:

    答案很简单,你的框架中没有任何其他小部件,它现在是空的,所以它的大小是 0 像素(或者 1,我不记得了)。这就是您在窗口中看不到它的原因。

    【讨论】:

    • 我尝试添加标签,但没有出现
    猜你喜欢
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    相关资源
    最近更新 更多