我使用下面的函数来显示文件选择的对话框,我发现这个函数是对这个问题的回答。
[编辑:原来这里的发行版差异只是因为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()
!