Bonjour. J'ai un petit soucis pour afficher un widget tout simple.

Mon besoin consiste à afficher une fenêtre de ma création à la façon d'un popup au moyen d'une fonction statique :

MainWindow.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
void ZyfonMainWindow::showRegisteredReference(QVector<double> lambdas, QVector<double> powers)
{
	SpecterWidget::showSpecter(lambdas, powers);
}
Et voici le code de cette fonction :

SpecterWidget.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void SpecterWidget::showSpecter(QVector<double> xAxis, QVector<double> yAxis)
{
	SpecterWidget wid;
	wid.m_lineSelector.setVisible(false);
	wid.m_displayGaussian = false;
	QwtPlotCurve *curve = new QwtPlotCurve;
	curve->attach(&wid.m_chartView);
	curve->setStyle(QwtPlotCurve::Lines);
	curve->setRenderHint(QwtPlotItem::RenderAntialiased, true);
	curve->setPen(QPen(Qt::white));
	curve->setSamples(xAxis, yAxis);
	wid.m_chartView.replot();
	wid.show();
}
Cela semble fonctionner correctement, à l'exception du fait que la fenêtre ne reste affichée qu'un quart de seconde. La classe SpecterWidget héritant de QWidget et non pas de QDialog, elle ne dispose pas de la fonction exec() qui m'aurait permit de l'afficher.

Je cherche un moyen de faire ça sans avoir à complètement réorganiser mon interface graphique.