填充 tkinter 时框架失去高度
Frame loosing height when filled tkinter
大家好,我正在学习用 tkinter 制作图形用户界面,但我 运行 遇到了一些东西,找不到答案,我有 3 个框架 header header 和一个主要内容框架并且工作正常
代码:
root = Tk()
root.geometry("1080x600")
root.minsize(width=1080, height=600)
root.maxsize(width=1080, height=600)
root.title("learning ui")
headerFrame = Frame(root, height=50, bg="#17181b")
headerShadow = Frame(root, height=3, bg="#08090a")
contentFrame = Frame(root, bg="#17181b")
headerFrame.pack(side=TOP, fill=X)
headerShadow.pack(fill=X)
contentFrame.pack(fill=BOTH, expand=True)
root.mainloop()
屏幕截图:
但是当我把东西装到 header 它失去了它的高度。
代码:
root = Tk()
root.geometry("1080x600")
root.minsize(width=1080, height=600)
root.maxsize(width=1080, height=600)
root.title("learning ui")
headerFrame = Frame(root, height=50, bg="#17181b")
headerShadow = Frame(root, height=3, bg="#08090a")
contentFrame = Frame(root, bg="#17181b")
headerFrame.pack(side=TOP, fill=X)
headerShadow.pack(fill=X)
contentFrame.pack(fill=BOTH, expand=True)
main.e = Entry(headerFrame)
main.e.pack(side=RIGHT)
main.e.focus_set()
searchBtn = Button(headerFrame, text="Search", command=lambda: callback(retrieve_input()))
searchBtn.pack(side=RIGHT)
def callback(q):
print q
root.mainloop()
屏幕截图:
所有小部件都旨在 "shrink to fit" 它们的 children。虽然乍一看这似乎 counter-intuitive,但这是进行小部件布局的最佳方式。不要试图强制框架或 window 为特定大小,只需将小部件放入您想要的大小,它最终就会成为正确的大小。
如果您想关闭此功能,您可以,但我强烈建议您不要这样做。如果您想了解更多,请搜索"overrideredirect"。
大家好,我正在学习用 tkinter 制作图形用户界面,但我 运行 遇到了一些东西,找不到答案,我有 3 个框架 header header 和一个主要内容框架并且工作正常
代码:
root = Tk()
root.geometry("1080x600")
root.minsize(width=1080, height=600)
root.maxsize(width=1080, height=600)
root.title("learning ui")
headerFrame = Frame(root, height=50, bg="#17181b")
headerShadow = Frame(root, height=3, bg="#08090a")
contentFrame = Frame(root, bg="#17181b")
headerFrame.pack(side=TOP, fill=X)
headerShadow.pack(fill=X)
contentFrame.pack(fill=BOTH, expand=True)
root.mainloop()
屏幕截图:
代码:
root = Tk()
root.geometry("1080x600")
root.minsize(width=1080, height=600)
root.maxsize(width=1080, height=600)
root.title("learning ui")
headerFrame = Frame(root, height=50, bg="#17181b")
headerShadow = Frame(root, height=3, bg="#08090a")
contentFrame = Frame(root, bg="#17181b")
headerFrame.pack(side=TOP, fill=X)
headerShadow.pack(fill=X)
contentFrame.pack(fill=BOTH, expand=True)
main.e = Entry(headerFrame)
main.e.pack(side=RIGHT)
main.e.focus_set()
searchBtn = Button(headerFrame, text="Search", command=lambda: callback(retrieve_input()))
searchBtn.pack(side=RIGHT)
def callback(q):
print q
root.mainloop()
屏幕截图:
所有小部件都旨在 "shrink to fit" 它们的 children。虽然乍一看这似乎 counter-intuitive,但这是进行小部件布局的最佳方式。不要试图强制框架或 window 为特定大小,只需将小部件放入您想要的大小,它最终就会成为正确的大小。
如果您想关闭此功能,您可以,但我强烈建议您不要这样做。如果您想了解更多,请搜索"overrideredirect"。