Python GUI控件的行和列不工作

Python GUI控件的行和列不工作,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我正在使用Tkinter创建一个简单的GUI应用程序。我的代码如下。行和列似乎没有影响。第0列显示在屏幕中央。如果将行设为1,则控件仍显示在第0行 window = tkinter.Tk() window.title("Sample App") window.geometry('640x480') tkinter.Label(window, width="5", text="Title").grid(row="0", column="0") 编辑 确定了问题。原始代码在VisualStudi

我正在使用Tkinter创建一个简单的GUI应用程序。我的代码如下。行和列似乎没有影响。第0列显示在屏幕中央。如果将行设为1,则控件仍显示在第0行

window = tkinter.Tk()
window.title("Sample App")
window.geometry('640x480')

tkinter.Label(window, width="5", text="Title").grid(row="0", column="0")
编辑

确定了问题。原始代码在VisualStudio中。我在Spyder上复制了同样的结果坐标很好

VS 2019会有什么问题?

据我所知,tkinter会将最低行/列设置为0,并将其用作参考点。您可能需要另一个小部件进行比较,但在我的测试中,下面的两个示例会产生完全相同的GUI

import tkinter
window = tkinter.Tk()
window.title("Sample App")
window.geometry('640x480')
tkinter.Label(window, width="5", text="Title").grid(row=0, column=0)
tkinter.Label(window, width="5", text="Title1").grid(row=1, column=1)

window.mainloop()


我敢打赌,如果您深入到.grid源代码中,就会解释为什么会出现这种行为。不过,为了回答您的问题,这些控件正在工作,但是只有一个小部件,即使您指定100000,100000,它也将始终在屏幕左上角0,0处对其进行网格化,因为这种行为将原点定义为指定的最小行/列。就我所知,你需要一个0,0的小部件和一个100000,100000的小部件才能工作

当我运行代码时,标签出现在左上角,这是我所期望的位置。你确定这个精确的代码会在屏幕中心产生一个标签吗?但在我的情况下,即使行/列为4/5,它也会出现在屏幕中心。可能重复的我给出了几何管理器如何使用视觉辅助进行工作的分解。@Mike SMT请检查下面答案中的注释。这是IDE配置问题,它与原点或引用点没有太大关系,只是空行和空列的宽度和高度都为零。如果有一个小部件位于0,0,另一个小部件位于100001000000,它们将彼此非常接近。@Reedinationer我发现了这个问题。上面的代码是我在VisualStudio中编写的。它似乎不在那里工作。但现在我复制了Spyder和row列。不知道VS@RKh中会出现什么问题。。。哦,python代码的VisualStudio。我不知道它在网络之外做了什么。我喜欢PyCharm的python编码。@Mike SMT VS增加了python支持,现在VS Code也在那里。
import tkinter
window = tkinter.Tk()
window.title("Sample App")
window.geometry('640x480')
tkinter.Label(window, width="5", text="Title").grid(row=5, column=5) # or even 50000, 50000
tkinter.Label(window, width="5", text="Title1").grid(row=6, column=6) # and 50001, 50001

window.mainloop()