TkMessageBox - 没有模块

Tom*_*dge 22 python tk-toolkit tkinter python-3.x

import TkMessageBox
Run Code Online (Sandbox Code Playgroud)

当我输入TkMessageBox它显示messsge "导入错误:没有模块名为'TkMessageBox’.

据我所知使用python 3.3.2和Tk 8.5.

我使用错误版本的python或导入错误吗?

任何答案都非常有用.或者在我使用的版本中有类似的东西吗?

Bil*_*adj 48

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

   >>> import tkinter
   >>> import tkinter.messagebox
   >>>
Run Code Online (Sandbox Code Playgroud)

我的意思是我们tkMessageBox在Python2.x tkinter.messagebox中调用的内容变成 了Python3.x.

  • ...所以你可以像这样调用:`tkinter.messagebox.showinfo("Congratulations", "You won!")` (3认同)

Poi*_*los 9

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

try:
    from tkinter import messagebox
except ImportError:
    # Python 2
    import tkMessageBox as messagebox
Run Code Online (Sandbox Code Playgroud)

然后按如下方式使用消息框将适用于任一版本:

messagebox.showerror("Error", "Message.")
Run Code Online (Sandbox Code Playgroud)


Hun*_*ong 7

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

希望它有所帮助:))