• 6076阅读
  • 2回复

求助 QWT   困扰我很久了 [复制链接]

上一主题 下一主题
离线wangmingming
 
只看楼主 倒序阅读 楼主  发表于: 2010-05-10
//类的声明
class Sjtj: public QMainWindow
{
    Q_OBJECT

public :
    Sjtj(QWidget *parent = 0);
    //~Sjtj(void);
    
private :
    Ui_sjtj ui;
    void addMyplot(QwtPlot *plot_name);    //plot_name  是UI画QWTplot 的名称
};



//下面是实现
void Sjtj::addMyplot(QwtPlot *plot_name)
{

    const int pointNum = 25;
    double xval[pointNum];
    double yval[pointNum];

    for(int i=0; i<pointNum;i++)
    {  
        xval = i;
        yval = 0.05;
    }


    QFont font;                                                    //标题和坐标
    font.setPointSize(9);
    plot_name->setFont(font);
    plot_name->setStyleSheet(QString::fromUtf8("color: rgb(0, 170, 255);"));
    plot_name->setTitle(QObject::tr("图例:库水位—蓝色  尾水位—绿色"));
    plot_name->setAxisScale(QwtPlot::xBottom, 0.0, 25);
    plot_name->setAxisScale(QwtPlot::yLeft, 0.00, 0.10);
    
    QwtPlotCurve crv;
    crv.setPen(QColor(Qt::darkGreen));
    crv.setStyle(QwtPlotCurve::Lines);
    crv.setCurveAttribute(QwtPlotCurve::Fitted);
    crv.setData(xval,yval,pointNum);
    crv.attach(plot_name);
    
}


为什么曲线总是显示不出来啊?
离线shiroki

只看该作者 1楼 发表于: 2010-05-11
估计是因为你的crv是局部变量, 出了函数就析构了
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线stonexin
只看该作者 2楼 发表于: 2011-01-05
好像在qwt的文档里说明了,要在qwtplot析构前,数据要在内存中。
但楼主的直接就被释放掉了。所以显示不出来。
你可以将xval、yval做个全局变量测试一下。
招聘QT开发工程师--南京--2011.07.11
快速回复
限100 字节
 
上一个 下一个