Python 某些标签无法使用tkinter中的.grid()函数

Python 某些标签无法使用tkinter中的.grid()函数,python,tkinter,tkinter-canvas,tkinter-layout,Python,Tkinter,Tkinter Canvas,Tkinter Layout,看起来我对我的问题解释得很糟糕,但是我的标签上的网格函数有问题。标签确实会显示,但我无法更改其行/列,也无法在括号内执行任何功能 我把如何复制问题的代码放在那里。如前所述,将任何内容放入.grid()括号内不会产生任何效果 from tkinter import * root = Tk() #To actually see that it does not work root.geometry("800x600") Var = StringVar() Label = Label(root,

看起来我对我的问题解释得很糟糕,但是我的标签上的网格函数有问题。标签确实会显示,但我无法更改其行/列,也无法在括号内执行任何功能

我把如何复制问题的代码放在那里。如前所述,将任何内容放入.grid()括号内不会产生任何效果

from tkinter import *
root = Tk()

#To actually see that it does not work
root.geometry("800x600")

Var = StringVar()

Label = Label(root, textvariable=Var)

#Location of problem, adding stuff into the brackets does not change anything. For example: sticky = "ne"
Label.grid()

Var.set("Ha")

root.mainloop()

要使标签显示在右侧,可以指定网格中的列数,然后将标签放置在最后一列中。例如,尝试在您的“#问题位置”注释后添加此内容:

cols=0
当cols<4时:
root.columnconfigure(cols,weight=1)
cols+=1
Label.grid(列=3)

什么是“行不通”?请在问题中加入a。这里强烈建议不要链接到其他网站的代码。你的代码对我来说似乎很好用。我看到一个标签上有一个字符串“Ha”。你能更具体地说明你想做什么吗。还有,你搜索过其他问题吗?您是否知道,默认情况下,行和列的宽度和高度仅与容纳其内容所需的宽度和高度相同,而空的行和列的大小为零?我对tkinter非常陌生,还没有看到使用“columnconfigure”命令。为什么循环会指定列数?可以用同样的方法生成行吗?最后,为什么.grid()方法不适用于使用StringVar的标签?这完全取决于您想做什么。如果您知道您将有一个特定的网格模式(行x列),那么您可以像上面那样(包括以类似方式排列的行)来布局它。如果您只想在该单元格中指定标签单元格宽度和标签位置,您可以执行如下操作:
label1=label(root,textvariable=Var,width=100,anchor=E)
后跟
label1.grid()
cols = 0
while cols < 4:
    root.columnconfigure(cols, weight=1)
    cols += 1
Label.grid(column=3)