from tkinter import *
root = Tk()
frame = Frame(root,bg ='yellow')
frame.pack()
bottomframe = Frame(root,bg = 'red')
bottomframe.pack( side = BOTTOM )
redbutton = Button(frame, text = "Red", fg = "red")
redbutton.pack( side = LEFT)
blackbutton = Button(bottomframe, text = "Black", fg = "black")
blackbutton.pack( side = BOTTOM)
root.mainloop()
这是正确显示我的两个按钮而不是框架,我知道因为我看不到颜色,我必须做一些愚蠢和错误或不知道我不知道,无论如何帮助将不胜感激,谢谢并继续编码!
答案 0 :(得分:0)
框架(实际上,所有小部件)都旨在缩小或扩展以适应其内容。如果一个框架没有子框架,它仍然是配置的大小,但如果你添加子框架,它将缩小或增长到适合,除非它受到其父框架的约束。
假设您希望frame
占用大部分空间,并且bottomframe
是底部的按钮条,则需要向pack
提供正确的参数以使其成为可能发生。
例如:
frame.pack(fill="both", expand=True)
bottomframe.pack( side = BOTTOM, fill="x")
fill
用于控制窗口小部件如何适应给定的空间。通过将值设置为“both”,它指示tkinter使框架在x和y方向上填充其父级。使用值“x”表示仅在“x”方向上填充其空间。
expand
用于控制如何分配额外空间。设置为True
时,它会指示此窗口小部件展开以填充其父窗口中的任何剩余空间。设置为False
时,不会占用任何额外空间。
使用pack
时,您通常会将expand
设置为True
的一个小部件,但如果您想将父级分成两半,则通常会有两个小部件。