在Tkinter文件对话框之后,Matplotlib图形不起作用



我使用下面的函数来显示文件选择的对话框,我发现这个函数是对这个问题的回答。

[编辑:原来这里的发行版差异只是因为Matplotlib在Fedora和TkAgg上使用gtk3agg在每个系统上绘制窗口]

关于Fedora 18:一切正常。

在Ubuntu 12.10:关闭文件对话框后显示的任何图形后,Matplotlib将挂起。例如,在下面的代码中,在Ubuntu上,我永远无法到达"成功"一行。虽然什么都没发生,但我仍然可以在终端机上打字。如果删除文件对话框,Matplotlib图形将按预期工作。

import Tkinter, tkFileDialog
import pylab
def ask_for_config_file():
    print "Please provide location of configuration file."
    root = Tkinter.Tk()
    root.withdraw()
    file_path = tkFileDialog.askopenfilename()
    return file_path

def main():
    config_file_path = ask_for_config_file()
    pylab.figure()
    pylab.show()
    print "Made it."

有什么建议吗?

我只需要在对话框函数的末尾有一个root.destroy()

最新更新