我有一个复选框窗口,上面还有一个“完成”按钮(提交)。按钮现在在窗口的顶部,我怎么会有它在底部。
我尝试过类似done_btn.grid(row = 10)
的方法,但似乎没有效果。在
我的代码:
from tkinter import *
check = Tk()
check.title("Interests")
CheckVar1 = IntVar()
CheckVar2 = IntVar()
CheckVar3 = IntVar()
CheckVar4 = IntVar()
CheckVar5 = IntVar()
CheckVar6 = IntVar()
C1 = Checkbutton(check, text = "Horror", variable = CheckVar1,
onvalue = 1, offvalue = 0, height=1,
width = 20)
C2 = Checkbutton(check, text = "Action", variable = CheckVar2,
onvalue = 1, offvalue = 0, height=1,
width = 20)
C3 = Checkbutton(check, text = "Documentary", variable = CheckVar3,
onvalue = 1, offvalue = 0, height=1,
width = 20)
C4 = Checkbutton(check, text = "Science fiction", variable = CheckVar4,
onvalue = 1, offvalue = 0, height=1,
width = 20)
C5 = Checkbutton(check, text = "Comedy", variable = CheckVar5,
onvalue = 1, offvalue = 0, height=1,
width = 20)
C6 = Checkbutton(check, text = "Drama", variable = CheckVar6,
onvalue = 1, offvalue = 0, height=1,
width = 20)
done_btn = Button(check, text = "Done", command = lambda: check.destroy())
done_btn.pack()
C1.pack()
C2.pack()
C3.pack()
C4.pack()
C5.pack()
C6.pack()
check.mainloop()
移动
done_btn.pack()
越过c6.pack()
既然如此,让我解释一下为什么。在
当您使用
pack()
而不定义side
将小部件放置在tkinter的几何管理器上时,将设置默认的.pack(side = "top")
。在正如Bryan在评论中指出的那样,
pack()
在正确使用时非常有用。在我对
grid()
有更多的工作,因此我更喜欢使用grid()
,因为我可以用它快速准确地定义布局。在与其使用
pack()
,不如考虑将所有内容都改为grid()
,这样您就可以更容易地定义事物的去向。在使用
grid()
查看下面的示例无论我们设置网格的顺序是什么,只要我们使用所需的行和列,小部件将被放置在我们想要的位置:
^{pr2}$结果:
相关问题 更多 >
编程相关推荐