Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matplotlib figures not working after Tkinter file dialog

I'm using the following function which I found as a reply to this question to show a dialog window for file selection.

[ Edit: Turns out the distro differences here are merely because Matplotlib is using gtk3agg on Fedora and TkAgg for drawing windows on each system ]

On Fedora 18: Everything works fine.

On Ubuntu 12.10: Matplotlib hangs after closing any figure displayed after the file dialog. For example, in the code below, on Ubuntu I can never get to the "made it" line. I am still able to type in the terminal, though nothing happens. If I remove the file dialog, Matplotlib figures work as expected.

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."

Any suggestions?

like image 510
Diana Avatar asked Feb 04 '26 09:02

Diana


1 Answers

I just needed a root.destroy() at the end of the dialog function!

like image 169
Diana Avatar answered Feb 07 '26 00:02

Diana



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!