在风中改变按钮的位置

2024-09-28 05:44:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个复选框窗口,上面还有一个“完成”按钮(提交)。按钮现在在窗口的顶部,我怎么会有它在底部。 我尝试过类似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()

Tags: textcheckwidthvariable按钮packheightdone
1条回答
网友
1楼 · 发布于 2024-09-28 05:44:06

移动done_btn.pack()越过c6.pack()

C1.pack()
C2.pack()
C3.pack()
C4.pack()
C5.pack()
C6.pack()
done_btn.pack()

既然如此,让我解释一下为什么。在

当您使用pack()而不定义side将小部件放置在tkinter的几何管理器上时,将设置默认的.pack(side = "top")。在

正如Bryan在评论中指出的那样,pack()在正确使用时非常有用。在

我对grid()有更多的工作,因此我更喜欢使用grid(),因为我可以用它快速准确地定义布局。在

与其使用pack(),不如考虑将所有内容都改为grid(),这样您就可以更容易地定义事物的去向。在

使用grid()查看下面的示例

无论我们设置网格的顺序是什么,只要我们使用所需的行和列,小部件将被放置在我们想要的位置:

^{pr2}$

结果:

enter image description here

相关问题 更多 >

    热门问题