Bonjour,

j'ai une application comprenant un widget CurveWidget, afin d'afficher une courbe 2D.
L'application contient également un champ de saisie "offset": je voudrais que lorsque l'utilisateur tape une valeur dans ce champ, cette valeur soit ajoutée à tous les points de la courbe.

Par exemple j'initialise la courbe comme ceci avec des listes de valeurs x et y:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.courbe = make.curve(self.x, self.y, "Exemple", QtGui.Color(0,0,255))
Et lorsque une nouvelle valeur est entrée dans le champ de saisie (0 au démarrage), j'appelle une méthode updateCourbe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
offset = float(self.lineEditOffset.text())
newValues = [elt+offset for elt in self.y]
self.courbe.set_data(self.x, newValues)
self.courbe.plot().replot()
Or lorsque je mets la courbe à jour, l'axe des ordonnées ne suit pas et je ne vois donc plus ma courbe (elle est hors de la grille visible). Je ne comprends pas pourquoi car d'après la doc, l'appel à replot() doit gérer la mise a jour des axes
J'ai essayé de le faire manuellement en ajoutant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.courbe.plot().setAxisScale(Qwt.QwtPlot.yLeft, newValues[0], newValues[-1])
Mais cela ne fait aucune différence.
Quelqu'un pourrait-il m'aider?
Merci d'avance!