Closed GoogleCodeExporter closed 9 years ago
Faute d'une solution plus élégante, voilà le bricolage que j'ai trouvé,
dont le seul mérite est de donner le résultat attendu : le graphique
matplotlib lancé depuis un formulaire GUI reste manipulable, notamment les
textes sont draggables (avec néanmoins un petit défaut pas trop gênant, un
processus reste actif à la sortie du formulaire)
La solution consiste à lancer la fonction de plot en ligne de commande dans un
autre processus. Dans ce processus séparé, les instructions nécessaires à
l'exécution de GUIDATA sont sautées, car elles empêchent de prendre la main
sur le graphique(app = guidata.qapplication(), prm.edit(), app.exec_())
Si quelqu'un a une solution plus propre, je suis preneur.
Original comment by loic.duf...@hotmail.fr
on 18 Jun 2011 at 9:21
Attachments:
Si j'ai bien compris le problème, la solution la plus élégante consisterait
à utiliser plutôt un DataSetEditGroupBox -- voir le test guidata
editgroupbox.py
(http://code.google.com/p/guidata/source/browse/guidata/tests/editgroupbox.py#78
). L'idée serait d'intégrer ce widget dans une interface graphique dans
laquelle vous auriez également intégré un widget Matplotlib (cf. exemple
Matplotlib "embedding_in_qt4.py").
Ou alors, vous pourriez utiliser directement guiqwt (voir l'exemple plot.py
pour l'ajout d'une étiquette et l'exemple simple_dialog.py ou simple_window.py
pour l'intégration dans une boîte de dialogue ou dans une fenêtre principale
d'un formulaire guidata et d'un graphique guiqwt) au lieu de Matplotlib : dans
ce cas, vous n'auriez pas besoin d'écrire une classe pour implémenter le drag
d'une étiquette texte... ni même besoin d'écrire le widget Matplotlib
évoqué plus haut. Bref, un code plus court et plus facile à maintenir.
Original comment by pierre.raybaut
on 6 Nov 2012 at 3:43
Original issue reported on code.google.com by
loic.duf...@hotmail.fr
on 14 Jun 2011 at 9:12Attachments: