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

Posted

技术标签:

【中文标题】在 Python 3 中重命名了哪些 tkinter 模块?【英文标题】:Which tkinter modules were renamed in Python 3? 【发布时间】: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 模块?新的模块名称是什么?

【问题讨论】:

【参考方案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'

【讨论】:

以上是关于在 Python 3 中重命名了哪些 tkinter 模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中重命名解压缩的文件?

在 Python 中重命名 ZipFile

在 spark python 中重命名数据框列

在 C# / Python 中重命名远程文件服务器上的文件

在 Python 中重命名文件:WindowsError: [错误 2] 系统找不到指定的文件

如何在 Xcode 5 中重命名项目?