在 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,以及与之相关的其他模块。
这里是重命名模块的列表:
Tkinter
→ tkinter
tkMessageBox
→ tkinter.messagebox
tkColorChooser
→ tkinter.colorchooser
tkFileDialog
→ tkinter.filedialog
tkCommonDialog
→ tkinter.commondialog
tkSimpleDialog
→ tkinter.simpledialog
tkFont
→ tkinter.font
Tkdnd
→ tkinter.dnd
ScrolledText
→ tkinter.scrolledtext
Tix
→ tkinter.tix
ttk
→ tkinter.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 模块?的主要内容,如果未能解决你的问题,请参考以下文章