如何让TkInter文件选择对话框与IPython/Spyder一起工作?
我正在尝试为我的一个脚本创建一个简单的文件选择对话框,并尝试使用此线程中的代码示例: 我还尝试使用使用Tkinter的模块来做同样的事情。在这两种情况下,上面的代码都会挂起IPython控制台。我推测这与事件循环有关,但我没有在Python中使用GUI的实际经验如何让TkInter文件选择对话框与IPython/Spyder一起工作?,python,tkinter,ipython,spyder,Python,Tkinter,Ipython,Spyder,我正在尝试为我的一个脚本创建一个简单的文件选择对话框,并尝试使用此线程中的代码示例: 我还尝试使用使用Tkinter的模块来做同样的事情。在这两种情况下,上面的代码都会挂起IPython控制台。我推测这与事件循环有关,但我没有在Python中使用GUI的实际经验 有人能告诉我如何使用IPython/Spyder获得文件选择对话框的正确方向吗。作为记录,我使用的是Python 2.7.6和IPython 2.4.1,在运行上述代码之前,您需要设置正确的事件循环(在本例中为Tk),正如您正确猜测的那
有人能告诉我如何使用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>
[1]中的:%gui
我不在工作电脑前尝试,但在家里的桌面上,我只是在Spyder(Spyder 2.3.4)中的IPython控制台中尝试了%gui tk
,我收到了以下错误消息:“错误:无法激活多个gui事件循环”。我在IPython QtConsole中尝试了此操作,但没有错误消息。为了让%gui
命令适用于tkinter,我需要在Spyder设置中更改一些特殊的设置吗?这是因为您在Spyder首选项中选择了另一个后端来创建绘图(可能是qt
或automatic
)。要使%gui-tk
在这种情况下工作,您需要首先运行%gui-inline
。这是在看到该错误的同一会话中更改后端的一个小技巧。我还忘了提到,如果要将tk
设置为所有控制台的默认后端,则需要转到Tools>Preferences>IPython Console>Graphics>Graphics backend
并在那里选择tk
。
In [1]: %gui<Ctrl+I>