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:
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 self.courbe = make.curve(self.x, self.y, "Exemple", QtGui.Color(0,0,255))
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
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()
J'ai essayé de le faire manuellement en ajoutant:
Mais cela ne fait aucune différence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.courbe.plot().setAxisScale(Qwt.QwtPlot.yLeft, newValues[0], newValues[-1])
Quelqu'un pourrait-il m'aider?
Merci d'avance!
Partager