0

我想将Scale小部件的值初始化为2. 我怎样才能做到这一点?因为我使用了网格,.set所以无法正常工作。

这是我的代码:

Scale(self, command=self.onMove, movesvariable=self.var, from_=1, to=10,orient=HORIZONTAL,length=500,tickinterval=0.5, resolution=0.1, cursor = 'hand2 ').grid(columnspan ='200',rowspan = '4',sticky= W)
4

1 回答 1

1

将其更改为两行:

yourScale = Scale(self, command=self.onMove, movesvariable=self.var, from_=1, to=10,orient=HORIZONTAL,length=500,tickinterval=0.5, resolution=0.1, cursor = 'hand2 ')
yourScale.grid(columnspan ='200',rowspan = '4',sticky= W)

.grid()返回None;像你所做的那样在 Scale 之后调用它不会像你期望的那样返回一个 Scale 对象,它会返回一个 Nonetype。实现这个小改动应该允许您.set在存储 Scale 对象的任何变量上使用。(yourScale在本例中)

顺便说一句:您可能希望删除set问题中的标签:set引用数据结构,而不是 Tkinter 的 set 函数。

于 2015-06-17T16:46:25.533 回答