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

Pra*_*are 37 python tkinter python-3.x

我正在尝试创建一个文件选择器对话框.但是,当我尝试tkMessageBox在Python 3中导入时,我收到一个错误,声称该模块不存在.

import tkMessageBox
# ImportError: No module named 'tkMessageBox' 
Run Code Online (Sandbox Code Playgroud)

尝试在Python 3中导入其他Tkinter模块时,我遇到类似的错误.

import Tkinter          # No module named 'Tkinter'
import tkColorChooser   # No module named 'tkColorChooser'
import tkFileDialog     # No module named 'tkFileDialog'
Run Code Online (Sandbox Code Playgroud)

如何在Python 3中导入Tkinter模块?什么是新模块名称?

Map*_*pad 89

TkinterPython 2中已经tkinter在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在Python 2.x中,tkinter在Python 3.x中)

  • 另请注意,tkinter.filedialog是一个模块(不是从模块导入的类).因此,要获得该类,您可以从tkinter.filedialog导入FileDialog.但是,Python 2.x中似乎没有普通的FileDialog类.告诉我,如果我错了. (2认同)