Matplotlib - FigureCanvasTkAgg - Embedded graph
Bonjour tout le monde,
Je développe en ce moment un petit outil en python. Après avoir finaliser la partie "solver" je me suis attaqué à l'interface. Je cherche à faire quelque chose de simple et sans prétention. Je me suis donc tourné vers tkinter qui est très documenté.
Dans cette interface je fais apparaître dans une fenêtre les résultats du solver sous la forme d'un graph généré avec Matplotib. Pour cela j'utilise les quelques lignes suivantes (code partiel):
Code:
1 2 3 4 5 6 7 8 9 10
| from Tkinter import *
import ttk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
root = Tk()
mainFrame = Frame(root,width=700,height=500)
GraphBox = Frame(mainFrame,width=500,height=450,bg='white')
canvas = FigureCanvasTkAgg(Figure, master=GraphBox)
canvas._tkcanvas.pack() |
Ici "Figure" est le graph en question. ça fonctionne merveilleusement bien. Mon seul soucis c'est lors de la fermeture de l'application, python crash avec le message suivant:
Fatal Python error: PyEval_RestoreThread: NULL tstate
Une rapide recherche Google m'a appris que ce message d'erreur est en lien avec une API C en lien avec la méthode employée pour afficher le graph.
Est-ce que vous auriez une idée plus précise sur la question, parce que j'avoue humblement ne pas être calé en programmation. :roll:
Merci!