怎么在一个对话框里动态创建qwtplot呢

如何在一个对话框里动态创建qwtplot呢?
       不使用ui文件,我在一个对话框类构造函数里这样写:

CSpectralAnalyDlg::CSpectralAnalyDlg( QWidget *parent /*= 0*/,QString strCurrFile/*=""*/ )
: QDialog(parent)
{
QVBoxLayout* MenuLayout = new QVBoxLayout();
QMenuBar* menuBar = new QMenuBar(this);
menuBar->setGeometry(QRect(0, 0, 400, 24));
QMenu* menu = menuBar->addMenu(tr("&File"));
QAction* actionNew = menu->addAction(tr("&New"));
actionNew->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
MenuLayout->setMenuBar(menuBar);

QWidget *graphWidget = new QWidget(this);
graphWidget->resize(640,400);

QwtPlot* plot = new QwtPlot(graphWidget);  
// plot->resize(640,400);  
//设置坐标轴的名称  
plot->setAxisTitle(QwtPlot::xBottom, "x->");  
plot->setAxisTitle(QwtPlot::yLeft, "y->");  
//设置坐标轴的范围  
plot->setAxisScale(QwtPlot::xBottom, 0.0, 2.0 * M_PI);  
plot->setAxisScale(QwtPlot::yLeft, -1.0, 1.0);  
//设置右边标注  
plot->insertLegend(new QwtLegend(), QwtPlot::RightLegend);  

//使用滚轮放大/缩小  
(void) new QwtPlotMagnifier(plot->canvas());  

//使用鼠标左键平移  
(void) new QwtPlotPanner( plot->canvas() );  

//计算曲线数据  
QVector<double> xs;  
QVector<double> ys;  
for (double x = 0; x < 2.0 * M_PI; x+=(M_PI / 10.0))  
{  
xs.append(x);  
ys.append(qSin(x));  
}  
//构造曲线数据  
QwtPlotCurve* pCurve = new QwtPlotCurve("Sine");  
pCurve->setData(xs,ys);//设置数据  
pCurve->setStyle(QwtPlotCurve::Lines);//直线形式  
pCurve->setCurveAttribute(QwtPlotCurve::Fitted, true);//是曲线更光滑  
pCurve->setPen(QPen(Qt::blue));//设置画笔  
pCurve->attach(plot);//把曲线附加到plot上

//QVBoxLayout* PlotLayout = new QVBoxLayout();
 //   PlotLayout->addWidget(pCurve);

QGridLayout* pMainLayou = new QGridLayout(this); 
pMainLayou->addLayout(MenuLayout,0,0,Qt::AlignLeft);
pMainLayou->addWidget(graphWidget);
//pMainLayou->

}


       在运行到QwtPlot* plot = new QwtPlot(graphWidget);  这一步就直接退出了。
------解决思路----------------------
你是版主?

那我来接分了..