tkinter包或网格或放置bug

时间:2015-02-11 22:51:13

标签: python tkinter

我遇到tkinter的问题。经过几个小时的研究,我发现了我的错误,但不明白为什么会这样。

如果我写这个片段:

self.progressbar = ttk.Progressbar(self.frame_content, orient=HORIZONTAL, length=200, mode='determinate').grid(row = 2, column = 2)

而不是这一个:

self.progressbar = ttk.Progressbar(self.frame_content, orient=HORIZONTAL, length=200, mode='determinate')
self.progressbar.grid(row = 2, column = 2)

我收到此错误:

AttributeError: 'NoneType' object has no attribute 'start'

我理解错误,但我不明白为什么会发生错误。有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:2)

这是因为grid(row = 2, column = 2)按定义返回null,即它不是bug。因此,在您的第一个示例中,self.progressbar为空。在您的第二个示例中并非如此,self.progressbar包含ttk.Progressbar()的实例。同样适用于pack(),顺便说一句。