我有一个小应用程序,我正在测试各种小部件,然后在主代码文件中实现它们。我注意到,我有一种看起来是错误的显示标签的方法,但它仍然有效,没有引起任何错误。而不是我通常会做的事情:Label2=Label(frame1, text='second label').place(x=30,y=90),我有Label(frame1, text='frame1').place(x=30,y=50),并且都正确地呈现了。所以,我想知道为什么第二行有效,因为没有分配给它的变量,所以不能引用它吗?
发布于 2021-02-09 03:55:02
,所以我想知道为什么第二行会起作用
第二行起作用很简单,因为它就是这样设计的。您不需要保留对tkinter小部件的引用才能正常工作。
...如果没有分配给它的变量,它就不能被引用吗?
是的,这是不保存引用的缺点--在创建小部件之后,您没有简单的方法来引用它。您仍然可以通过各种方法获得引用,但是总是保留引用就更简单了。
另外,我的观点是,最好将小部件创建与小部件布局分开。我发现当一组兄弟节点的所有布局小部件都在一个块中时,tkinter应用程序更容易阅读,而不是与创建小部件的代码交织在一起。
https://stackoverflow.com/questions/66112712
复制相似问题