在python中使用Tkinter set()属性和网格布局

时间:2014-08-24 14:53:28

标签: python layout grid tkinter set

我尝试了许多不同的方法在tkinter中使用Slider set()和网格布局,我无法识别属性。

这是一个不使用set()的功能版本:

master = Tk()
master.title("This is a title")

Scale(master, from_=0, to=100, label='Brightness').grid(row=0, sticky=W)

master.mainloop()

这可以预料到的效果。但如果我改为:

Scale(master, from_=0, to=100, label='Brightness').set(50).grid(row=0, sticky=W)

我收到:AttributeError: 'NoneType' object has no attribute 'grid'

如果我尝试使用set()将比例分配给变量,然后将该变量与.grid(row=0, sticky=W)一起使用,我会收到相同的内容。

我在这里失踪的是什么?我仔细查看了文档,但grid()pack()相比似乎很少。

1 个答案:

答案 0 :(得分:1)

这应该有用。

scl = Scale(master, from_=0, to=100, label='Brightness')
scl.set(50)
scl.grid(row=0, sticky=W)

set方法返回None。由于这个原因,你得到的是无类型错误。从上面的代码中可以看出,首先应该为变量赋值,然后对该变量使用方法。