Bonjour,

Avant de commencer, petite présentation : étudiante en informatique, 21 ans

Mon problème est le suivant.
Je dois développer une application, dans laquelle je dois entre autres afficher une courbe. J'utilise donc qwt qui convient bien à ce dont j'ai besoin.

J'utilise donc la classe QwtPlotCurve, et j'arrive à afficher la courbe voulue, uniquement si aucune fenêtre ne s'ouvre avant.

Je m'explique. Si je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
QwtPlot *graph;
QwtPlotCurve *curve;
 
curve = new QwtPlotCurve(QString("titre"));
curve->attach(graph);
curve->setSamples(X.data(),Y.data(),X.size());
graph->replot();
Alors ma courbe s'affiche correctement.
Si j'ajoute :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
curve->setPen(QPen(Qt::red));
Alors ma courbe apparaît en rouge. Seulement, si jamais j'ouvre une fenêtre (une simple boîte de dialogue par exemple) avant ces commandes là, la courbe ne s'affiche jamais.


Par exemple, si avant le code précédent, j'ajoute

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
QMessageBox msgBox;
msgBox.setText("salut");
msgBox.exec();
Alors j'ai ma boîte "Salut" qui va s'afficher, mais une fois fermée, la courbe n'apparaît pas.

Mon problème est que je souhaite permettre à l'utilisateur de choisir la couleur de sa courbe, il peut donc ouvrir une boîte de dialogue contenant la palette de couleur, et choisir la couleur désirée.
Je mets donc les commandes suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
QColor couleur = QColorDialog::getColor(Qt::white, this);
curve->setPen(QPen(couleur));
Et ma courbe ne change pas de couleur.
Je ne comprends pas pourquoi le fait d'ouvrir une autre fenêtre avant l'affichage de la courbe m'empêche de l'afficher ensuite.

J'espère avoir été claire, si vous avez des idées ça m'intéresse beaucoup