我正在尝试创建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模块?有哪些新模块名称?
答案 0 :(得分:81)
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)
答案 1 :(得分:0)
我有一个脚本,它有不同的 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: No module named 'Tkinter'
ModuleNotFoundError: No module named 'tkMessageBox'
ModuleNotFoundError: No module named 'ScrolledText'
ModuleNotFoundError: No module named 'tkFileDialog'