1

Ubuntu 上的 Python 3.3。

我似乎无法让 tkinter 的 .grid 函数正常工作。我有以下代码;

import sys
from tkinter import *

mwin = Tk()
mwin.title("Window")
mwin.geometry("450x450+500+100")

header = Label(text="The Label").grid(row=5,column=2)

mwin.mainloop()

我为.grid(row=x,column=y)输入的内容似乎并不重要,标签保持左上对齐。我错过了什么?

4

2 回答 2

2

网格几何管理器是相对的。你在一个虚拟网格上布置你的小部件,通过rowand告诉对齐和排序col。共享同一行的小部件将垂直对齐,行号高于另一个的小部件将在下方。因此,只有在虚拟网格上插入其他小部件时,您才会注意到差异。

此外,当您编写 时header = Label(...).grid(...),您将存储在header网格的结果中(始终为无)。优先使用

header = Label(...)
header.grid(...)
于 2013-06-24T09:03:51.533 回答
1

默认情况下,行的高度为零,列的宽度为零。当您仅在第 5 行第 2 列放置某些东西时,第 0-4 行实际上是不可见的,第 0 列和第 1 列也是如此。仅当您将小部件放入单元格时,或者当您使用rowconfigure和/或columnconfigure行或列获取时非零大小。

于 2013-06-24T10:40:18.657 回答