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 :
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 :
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
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 :
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
Partager