Label() 显示没有 label_1=Label() 的标签?

Label() displays a label without label_1=Label()?

我有一个小应用程序,我正在测试各种小部件,然后在主代码文件中实现它们,我注意到我用一种看起来像是错误的方式来显示标签,但它仍然有效并且没有导致错误。而不是我通常会做的是: Label2=Label(frame1, text='second label').place(x=30,y=90) 我有 Label(frame1, text='frame1').place(x=30,y=50) 并且都正确呈现。所以我想知道为什么第二行有效并且不会因为没有分配给它的变量而无法引用它吗?

So I'm wondering why the second line worked

第二行之所以有效,是因为它就是这样设计的。您无需保留对 tkinter 小部件的引用即可使其正常工作。

... and wouldn't it be unable to be referenced since there's no variable assigned to it?

是的,这就是不保存引用的缺点 - 在创建小部件后,您没有简单的方法来引用它。您仍然可以通过各种方式获得参考,但始终保留参考更简单。

此外,我认为最好将小部件创建与小部件布局分开。当一组兄弟姐妹的所有布局小部件都在一个块中而不是与创建小部件的代码交错时,我发现 tkinter 应用程序更容易阅读。