Python 2.7 Python 2.7 pady边距错误

Python 2.7 Python 2.7 pady边距错误,python-2.7,tkinter,Python 2.7,Tkinter,为pady指定不同的号码给我错误。我尝试过很多方法,但都不管用。我总是犯错误。也许代码错了,我不确定应该是什么。这是我所能想到的最好的,但是我在没有解释原因的情况下得到了错误 from Tkinter import * root=Tk() root.geometry("200x300") root.title("basicGUI") root.configure(background="gray") w1=Label(text="widget 1", pady = (TO

为pady指定不同的号码给我错误。我尝试过很多方法,但都不管用。我总是犯错误。也许代码错了,我不确定应该是什么。这是我所能想到的最好的,但是我在没有解释原因的情况下得到了错误

from Tkinter import *

root=Tk()
root.geometry("200x300")
root.title("basicGUI")
root.configure(background="gray") 

w1=Label(text="widget 1",
         pady = (TOP = "20", BOTTOM = "1"))
w1.pack()

w2=Label(text="widget 2",
         pady = (TOP = "1", BOTTOM = "1"))
w2.pack()

w3=Label(text="widget 3",
         pady = (TOP = "1", BOTTOM = "20"))
w3.pack()

mainloop()

你有两三个问题,这取决于你如何计算

标签
中的
pady
选项采用单个值。如果要给它两个值,请使用pack命令的
pady
属性。标签上的
pady
选项本身的行为与
pack`命令的pady
选项不同

第二个问题是tkinter常量
TOP
的值为
“TOP”
,这意味着您试图创建一个元组(非法)作为
(“TOP”=“20”,“bottom”=“1”)
。正如您希望看到的,这是无效的语法

以下是您想要做的事情的正确方法:

w1.pack(pady=(20, 10))

注意:答案将用网格替换块。在本例中,标签区域不是positional应该去的地方。此代码不会导致错误

w1=Label(frame, text="widget 1")
w1.grid(row = 0, column = 0, pady =(20,1))

w2=Label(frame, text="widget 2")
w2.grid(row = 0, column = 0, pady =(1,1))

w3=Label(frame, text="widget 3")
w3.grid(row = 2, column = 0, pady = (1,20))

请在你的问题中包括实际的错误。很高兴知道。我尝试了一些技巧,但没有奏效。我也查看了
pack()
方法,但找不到任何与此相关的信息。@BillalBEGUERADJ:当我搜索“tkinter pack”时,我得到的第一个链接是这个,它很好地解释了所有选项:Billal BEGUERADJ,代码在我的所有.py程序中都有效。在帧内或不在帧内都不会给出错误。是守门员。谢谢布莱恩·奥克利,你的代码只能在框架外运行。在帧中,它给出了错误。我也看了你的网站建议。这对我来说太神秘了。布莱恩·奥克利,你总是给我提供极好的信息,这对我帮助很大。我一直期待着看到你的答案。非常感谢。