python - 为什么这个 tkinter 网格将最后添加的复选框居中?
问题描述
我无法弄清楚列跨度是如何工作的。我知道这听起来有点愚蠢,但我只是在看到输出时感到困惑,复选框如何自动放在密码输入框(entry2 框)下方。
使用网格()
from tkinter import *
root = Tk()
label1 = Label(root,text='Name:')
label2 = Label(root,text='Password:')
entry1 = Entry(root)
entry2 = Entry(root)
label1.grid(row=0,column=0)
entry1.grid(row=0,column=1)
label2.grid(row=1,column=0)
entry2.grid(row=1,column=1)
c = Checkbutton(root,text='Keep me logged in')
c.grid(columnspan=2)
root.mainloop()
非常感谢您的宝贵时间。
解决方案
这是因为“列”和“行”的默认值(见下文)
column
:在此列插入小部件。列号以 0 开头。如果省略,则默认为 0。
row
:在该行插入小部件。行号从 0 开始。如果省略,则默认为网格中的第一个空行。因此,检查按钮默认为第一列和第一个空行,即第 3 行。
有关更多信息,请参阅:https ://effbot.org/tkinterbook/grid.htm
推荐阅读
- python - 导入时分配模块对象
- c - 在运行非常旧的 C 代码时遇到分段错误
- java - 大数据请求的 Http 客户端连接失败
- pdf - 如何在 Puppeteer 中为所有相对 URL 添加绝对路径(本地 html 文件应从 Web 加载图像以生成 PDF)
- r - 有没有比dfm中的“stem = TRUE”更好的方法来忽略复数?
- javascript - 尝试使用 jQUERY 加载 .json
- java - 我有一个关于java多态的问题
- java - 无法部署 Intellij 项目
- java - 未能删除 LinkedList 中的第一个节点,但成功删除其他节点
- mysql - 如何在 CSV 导入(MariaDB / MySQL)上生成串联主键?