TkMessageBox - 无模块

Posted

技术标签:

【中文标题】TkMessageBox - 无模块【英文标题】:TkMessageBox - No Module 【发布时间】:2016-11-06 00:12:09 【问题描述】:
import TkMessageBox

当我导入 TkMessageBox 时,它会显示消息 'ImportError: No module named 'TkMessageBox'

据我所知,我使用的是 python 3.3.2 和 Tk 8.5。

是我用错了python版本还是导入错了?

任何答案都会非常有用。或者我正在使用的版本中是否有类似的东西?

【问题讨论】:

你想要一个消息框输出吗? import TkMessageBox => from tkinter import messagebox。然后像messagebox.askokcancel(...)一样使用它。 【参考方案1】:

在 Python3.x 中发生了一些变化:

   >>> import tkinter
   >>> import tkinter.messagebox
   >>>

我的意思是我们在 Python2.x 中称为 tkMessageBox 在 Python3.x 中变成 tkinter.messagebox

【讨论】:

... 所以你可以像这样调用:tkinter.messagebox.showinfo("Congratulations", "You won!") 想解释一下你的行为吗? ***.com/questions/61939967/… 抱歉,我必须更仔细地阅读您的问题。我投票决定重新打开你的帖子,我赞成@Trey【参考方案2】:

如果您不想更改 Python 2 和 Python 3 的代码,可以使用 import as:

try:
    from tkinter import messagebox
except ImportError:
    # Python 2
    import tkMessageBox as messagebox

然后使用以下消息框将在任一版本中工作:

messagebox.showerror("Error", "Message.")

【讨论】:

【参考方案3】:

在 Python 2.x 中,要导入,你会说 import tkMessageBox。但在 Python 3.x 中,它被重命名为 import tkinter.messagebox

希望它有所帮助:))

【讨论】:

【参考方案4】:

适用于 python 3.x

导入 tkinter

导入 tkinter.messagebox

【讨论】:

【参考方案5】:

从 tkinter 导入消息框 sous Python 3 messagebox.showinfo(title=None, message=None, **options)

【讨论】:

欢迎来到***。感谢您的贡献,但请对您的解决方案提供进一步的解释:不要只是给出修复,解释它的作用和错误

以上是关于TkMessageBox - 无模块的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 3 中重命名了哪些 tkinter 模块?

解决无/var/log/messages 问题

在 python 中一段时间​​后关闭 tkmessagebox

tkMessageBox.showwarning 如何选择弹出的位置?

部署到 AWS lambda 时找不到模块 ./dist/server

无标题Kafka副本管理—— 为何去掉replica.lag.max.messages参数