[英]tkinter pack or grid or place bug
I had a problem with tkinter
. 我对
tkinter
有问题。 After several hours of research I found my bug, but don't understand why it happened. 经过几个小时的研究,我发现了我的错误,但不知道为什么会发生。
If I write this snippet: 如果我编写此代码段:
self.progressbar = ttk.Progressbar(self.frame_content, orient=HORIZONTAL, length=200, mode='determinate').grid(row = 2, column = 2)
instead of this one: 而不是这个:
self.progressbar = ttk.Progressbar(self.frame_content, orient=HORIZONTAL, length=200, mode='determinate')
self.progressbar.grid(row = 2, column = 2)
I get this error: 我收到此错误:
AttributeError: 'NoneType' object has no attribute 'start'
I understand the error, but I do not understand why it occurs. 我了解此错误,但不了解为什么会发生。 Could someone explain it to me please?
有人可以向我解释吗?
It occurs because grid(row = 2, column = 2)
returns null by definition, ie its not a bug. 发生这种情况的原因是
grid(row = 2, column = 2)
根据定义返回null,即它不是bug。 Thus, in your first example, self.progressbar
is null. 因此,在您的第一个示例中,
self.progressbar
为null。 This is not the case in your second example in which self.progressbar
holds an instance of the ttk.Progressbar()
. 在第二个示例中,
self.progressbar
拥有ttk.Progressbar()
的实例时,情况ttk.Progressbar()
。 The same is for pack()
, btw. 对于
pack()
,顺便说一句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.