45

我正在尝试创建一个文件选择器对话框。但是,当我尝试tkMessageBox在 Python 3 中导入时,我收到一个错误,声称该模块不存在。

import tkMessageBox
# ImportError: No module named 'tkMessageBox' 

尝试在 Python 3 中导入其他 Tkinter 模块时出现类似错误。

import Tkinter          # No module named 'Tkinter'
import tkColorChooser   # No module named 'tkColorChooser'
import tkFileDialog     # No module named 'tkFileDialog'

如何在 Python 3 中导入 Tkinter 模块?新的模块名称是什么?

4

2 回答 2

112

TkinterPython 2中的包已重命名为tkinterin Python 3以及与之相关的其他模块。

以下是重命名模块的列表:

  • Tkintertkinter
  • tkMessageBoxtkinter.messagebox
  • tkColorChoosertkinter.colorchooser
  • tkFileDialogtkinter.filedialog
  • tkCommonDialogtkinter.commondialog
  • tkSimpleDialogtkinter.simpledialog
  • tkFonttkinter.font
  • Tkdndtkinter.dnd
  • ScrolledTexttkinter.scrolledtext
  • Tixtkinter.tix
  • ttktkinter.ttk

我建议您学习如何使用dir命令动态浏览模块。如果您在 Windows 下,请将 Python 配置为使用readline模块以获取自动完成功能,并使列出模块中可用的类变得更加容易。

有关每个模块的说明,请参阅官方 Python 文档。(Tkinter在 Python 2.x中,tkinter在 Python 3.x 中

于 2009-03-23T13:11:44.073 回答
1

用于 Python 2和 Python 3的 Tkinter / tkinter 的快速脚本。 **

我有一个脚本,其中有不同的 Python 2.* Tkinter 导入,所以浏览了 a 但我看到答案都是零散的。这里有一个小摘要,其中包含使用两个 Python 版本的安全脚本。

try:  # Python 2.7
    import Tkinter as tk
    import tkColorChooser as color
    import tkCommonDialog as cdialog
    import Tkconstants as const
    import Tkdnd as dnd
    import tkFileDialog as fdialog
    import tkFont as font
    import tkMessageBox as msgbox
    import ScrolledText as stext
    import tkSimpleDialog as sdialog
    import Tix as tix
    import ttk

except ImportError:  # Python 3.* 
    import tkinter as tk
    from tkinter import (
        colorchooser as color,
        commondialog as cdialog,
        constants as const,
        dialog,
        dnd,
        filedialog as fdialog,
        font,
        messagebox as msgbox,
        scrolledtext as stext,
        simpledialog as sdialog,
        tix,
        ttk
    )

ModuleNotFoundError 错误列表(运行 Python 3 时。)

ModuleNotFoundError: No module named 'Tkinter'
ModuleNotFoundError: No module named 'tkMessageBox'
ModuleNotFoundError: No module named 'ScrolledText'
ModuleNotFoundError: No module named 'tkFileDialog'
于 2021-06-20T17:25:10.143 回答