gpt4 book ai didi

python - tk.mainloop() vs root.mainloop()?

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:52 25 4
gpt4 key购买 nike

我试图找到一些关于 tk.mainloop()root.mainloop() 的使用的问答或文章,但没有成功。

我的问题是:这两种用途之间有什么区别吗?对我来说,正确的方法是使用 tk_instance_variable_name.mainloop() vs 只做 tk.mainloop() 但据我所知,两者似乎都工作得很好.是否有任何理由需要避免 tk.mainloop() 或者它只是一种偏好。

如果之前有人问过这个问题,请提供 Q/A 链接,因为我找不到它。我觉得它已经被问过了,但没有找到它。

有人可以解释为什么 tk.mainloop() 会在这里工作,而我觉得它不应该工作,因为它没有被用于 tk 实例变量名。

使用 root 的示例按预期工作:

import tkinter as tk

root = tk.Tk()
tk.Label(root, text="Test").pack()
root.mainloop() # using the variable name root

据我所知,使用 tk 的示例效果很好:

import tkinter as tk

root = tk.Tk()
tk.Label(root, text="Test").pack()
tk.mainloop() # using tk

最佳答案

I have tried to find some Q/A or article about the use of tk.mainloop() vs root.mainloop() with no success.

My question is this: Is there any difference between the 2 uses.

简短回答:正常用例没有区别。

每个小部件都有一个关联的 tcl 解释器,它是在创建根小部件时创建的,无论是显式还是隐式。当您从任何小部件调用 mainloop 时,它将在与该小部件的根窗口关联的解释器中运行 mainloop 函数。

如果您调用属于 tkinter 模块的 mainloop 方法(例如:示例中的 tk.mainloop()),它将调用默认解释器的 mainloop 函数。默认解释器是第一个创建的解释器。因此,在 Tk 的单个实例的正常情况下,tk.mainloop()root.mainloop() 调用完全相同的代码.

关于python - tk.mainloop() vs root.mainloop()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51428209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com