如何让 TkInter 文件选择对话框与 IPython / Spyder 一起工作?
How to get a TkInter file selection dialogbox to work with IPython / Spyder?
我正在尝试为我的一个脚本创建一个简单的文件选择对话框,并且我正在尝试使用此线程中的代码示例:Quick and easy file dialog in Python?
import Tkinter, tkFileDialog
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
我还尝试使用 easygui 模块,该模块使用 Tkinter 来做同样的事情。在这两种情况下,上面的代码都会挂起 IPython 控制台。我认为这与事件循环有关,但我在 Python.
中没有使用 GUI 的实际经验
有人可以为我指明正确的方向,让我了解如何获得用于文件选择的对话框以使用 IPython/Spyder。作为记录,我在 Python 2.7.6 和 IPython 2.4.1
在 运行 上面的代码之前,您需要设置正确的事件循环(在本例中 Tk
),正如您猜对的那样。
为此,您需要 运行 此命令:
In [1]: %gui tk
然后 运行 你的代码。
注意:要访问Spyder中有关%gui
魔法的文档,您需要将光标放在%gui
前面并按Ctrl+I
,像这样
In [1]: %gui<Ctrl+I>
我正在尝试为我的一个脚本创建一个简单的文件选择对话框,并且我正在尝试使用此线程中的代码示例:Quick and easy file dialog in Python?
import Tkinter, tkFileDialog
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
我还尝试使用 easygui 模块,该模块使用 Tkinter 来做同样的事情。在这两种情况下,上面的代码都会挂起 IPython 控制台。我认为这与事件循环有关,但我在 Python.
中没有使用 GUI 的实际经验有人可以为我指明正确的方向,让我了解如何获得用于文件选择的对话框以使用 IPython/Spyder。作为记录,我在 Python 2.7.6 和 IPython 2.4.1
在 运行 上面的代码之前,您需要设置正确的事件循环(在本例中 Tk
),正如您猜对的那样。
为此,您需要 运行 此命令:
In [1]: %gui tk
然后 运行 你的代码。
注意:要访问Spyder中有关%gui
魔法的文档,您需要将光标放在%gui
前面并按Ctrl+I
,像这样
In [1]: %gui<Ctrl+I>