gpt4 book ai didi

python - 为什么我需要导入 tkinter.messagebox 但导入 tkinter 后不需要导入 tkinter.Tk()?

转载 作者:太空宇宙 更新时间:2023-11-03 23:59:20 50 4
gpt4 key购买 nike

有一个错误:“AttributeError: module 'tkinter' has no attribute 'messagebox'” 即使 import tkinter 一开始就已经给出了,为什么 tkinter.Tk 没有错误()语句 ?

我发现 import 语句不像 C 语言中的 #include 语句,所以我可以理解我们需要导入 tkinter.messagebox 如果我们想使用它,即使 import tkinter 已经给出,但让我困惑的是为什么 tkinter.Tk 即使我们没有写也能很好地工作像 import tkinter.Tk 这样的东西?

import time, sys
import tkinter
#import tkinter.messagebox

window = tkinter.Tk()
tkinter.messagebox.showwarning()
window.mainloop()

最佳答案

tkinter.Tk() 函数是 tkinter 的一部分。然而,messagebox 函数是 tkinter.messagebox 的一部分,tkinter.messageboxtkinter 中的另一个模块。这就是为什么 tkinter.Tk() 只需要导入 tkinter 就可以正常工作,但是 tkinter.messagebox 需要导入消息框模块。

有关 Tkinter 模块的更多信息,请访问 official documentation .

如果您满足以下任一条件,就可以让它工作:

from tkinter import messagebox

然后像这样调用函数:

messagebox.showwarning()

或者像您在代码中注释的那样导入:

import tkinter.messagebox

像你一样打电话:

tkinter.messagebox.showwarning()

希望对您有所帮助。

关于python - 为什么我需要导入 tkinter.messagebox 但导入 tkinter 后不需要导入 tkinter.Tk()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56268474/

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