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

时间:2009-03-23 12:20:02

标签: python python-3.x tkinter

我正在尝试创建file chooser dialog box。但是,当我尝试在Python 3中导入tkMessageBox时,我收到一个错误,声称该模块不存在。

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模块?有哪些新模块名称?

2 个答案:

答案 0 :(得分:81)

Tkinter package from Python 2已重命名为tkinter in 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 in Python 2.xtkinter in Python 3.x

答案 1 :(得分:0)

使用 Tkinter / tkinter for Python 2. & Python 3.**

的快速脚本

我有一个脚本,它有不同的 Python 2.* Tkinter 导入,所以浏览了一个,但我看到答案都是分散的。这里有一个小总结,其中包含使用两个 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'