【问题标题】:Which tkinter modules were renamed in Python 3?在 Python 3 中重命名了哪些 tkinter 模块?
【发布时间】:2010-10-14 23:06:35
【问题描述】:

我正在尝试创建一个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 模块?新的模块名称是什么?

【问题讨论】:

    标签: python python-3.x tkinter


    【解决方案1】:

    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.x, tkinter in Python 3.x)

    【讨论】:

    • 还要注意 tkinter.filedialog 是一个模块(不是从模块导入的类)。因此,要获取课程,您可以从 tkinter.filedialog 导入 FileDialog。不过,Python 2.x 中似乎没有普通的 FileDialog 类。如果我错了,请告诉我。
    【解决方案2】:

    使用 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'
    

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 1970-01-01
      • 2018-10-06
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 2021-01-20
      • 2010-11-11
      • 2017-06-15
      相关资源
      最近更新 更多