精华内容
下载资源
问答
  • qwtplot

    千次阅读 2017-09-07 23:09:08
    1.新建一个qt新工程,往主界面中拖动一个QwtPlot控件,保存后关闭。  ps:如果在设计界面没有,试试qt界面用qt designer打开试试 2.下面开始QwtPlot的简单使用  a)控件的位置移动和大小设置 int width = ...

    1.新建一个qt新工程,往主界面中拖动一个QwtPlot控件,保存后关闭。 
    ps:如果在设计界面没有,试试qt界面用qt designer打开试试

    2.下面开始QwtPlot的简单使用 
    a)控件的位置移动和大小设置

        int width = this->width()-10;
        int height = this->height() - 50;
    
        //qDebug()<<width<<height;
        //移动QwtPlot控件到父窗口的0,0起始位
        ui->qwtPlot->move(0,0);
        //设置QwtPlot控件的大小
        ui->qwtPlot->resize(width,height);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    可以自己调整下move参数看看效果。

    b)设置标题有两种形式 
    1)参数为QString

        //参数是QString
        ui->qwtPlot->setTitle(QObject::trUtf8("QwtPlot Test"));
    • 1
    • 2

    效果如下: 
    这里写图片描述 
    2)参数为QwtText,此种类型为我们提供了包括字体,颜色等设置

        QwtText t;
        //设置标题名
        t.setText(QObject::trUtf8("QwtPlot Test"));
        //设置字体
        QFont font;
        //设置粗体
        font.setBold(true);
        //设置斜体
        font.setItalic(true);
        t.setFont(font);
        //设置颜色
        t.setColor(QColor(255,0,0));
        //设置标题背景色
        QBrush brush(QColor(0,0,255));
        t.setBackgroundBrush(brush);
    
        ui->qwtPlot->setTitle(t);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    运行效果如下 
    这里写图片描述

    c)坐标轴控制 
    QwtPlot为我们提供了4条坐标轴,分别是底部坐标轴,左坐标轴,顶部坐标轴,右坐标轴 
    左坐标轴 QwtPlot::yLeft 
    右坐标轴 QwtPlot::yRight 
    底部坐标轴 QwtPlot::xBottom 
    顶部坐标轴 QwtPlot::xTop 
    我们可以先来看看代码实现

        //setAxisScale四个参数的含义分别是
        //第一个参数表示坐标轴,
        //第二个参数表示坐标轴最小值
        //第三个参数表示坐标轴最大值
        //第四个参数表示步进
        ui->qwtPlot->setAxisScale(QwtPlot::yLeft,0,100,10);
        ui->qwtPlot->setAxisScale(QwtPlot::xBottom,0,100,10);
        ui->qwtPlot->setAxisScale(QwtPlot::yRight,0,100,10);
        ui->qwtPlot->setAxisScale(QwtPlot::xTop,0,100,10);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行下看看效果: 
    这里写图片描述 
    奇怪,为什么我们设置了右坐标轴和顶部坐标轴,为什么不显示呢? 
    我们在代码中加入如下语句看看输出结果

        //axisEnable用于判断坐标轴是否开启了使用功能
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::yLeft);
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::xBottom);
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::yRight);
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::xTop);
    • 1
    • 2
    • 3
    • 4
    • 5

    控制台输出结果如下: 
    这里写图片描述 
    从结果我们可知,原来右坐标轴和顶部坐标轴处于不可用状态,所以没有显示。 
    那么就很容易了,只要让顶部坐标轴和右坐标轴enable即可,我们在qDebug之前加入如下两句

        ui->qwtPlot->enableAxis(QwtPlot::yRight,true);
        ui->qwtPlot->enableAxis(QwtPlot::xTop,true);
    • 1
    • 2

    再来看看运行效果和控制台输出结果: 
    这里写图片描述 
    这里写图片描述 
    可见,四条坐标轴都显示出来了,QwtPlot默认enable的坐标轴是左坐标轴和底部坐标轴。 
    我们可以给每条坐标轴设置一个title,赋予具体含义:

        ui->qwtPlot->setAxisTitle(QwtPlot::yLeft,QObject::trUtf8("Left"));
        ui->qwtPlot->setAxisTitle(QwtPlot::yRight,QObject::trUtf8("Right"));
        ui->qwtPlot->setAxisTitle(QwtPlot::xBottom,QObject::trUtf8("Bottom"));
        ui->qwtPlot->setAxisTitle(QwtPlot::xTop,QObject::trUtf8("Top"));
    • 1
    • 2
    • 3
    • 4

    运行效果如下: 
    这里写图片描述 
    这里的setAxisTitle设置坐标轴标题函数的第二个参数也可以是QwtText类型。 
    我们也可以更改坐标轴坐标值的字体

        //微软雅黑
        //黑体
        QFont f("宋体", 12);//Helvetica [Cronyx]
        ui->qwtPlot->setAxisFont(QwtPlot::xBottom,f);
    • 1
    • 2
    • 3
    • 4

    d)画图:终于到往QwtPlot控件内画曲线了。 
    步骤: 
    1.创建plot组件 
    2.往plot组件加入数据 
    3.把plot组件附加到qwtPlot中

        //数据x,y值保存
        QVector<QPointF> vector;
        for(int i =0;i<100;i++){
            QPointF point;
            point.setX(i);
            int y = 20*sin(i*M_PI/10) + 50;
            point.setY(y);
            vector.append(point);
        }
        //构造曲线数据
        QwtPointSeriesData* series = new QwtPointSeriesData(vector);
    
        //create plot item
        QwtPlotCurve* curve1 = new QwtPlotCurve("Curve 1");
        //设置数据
        curve1->setData(series);
        //把曲线附加到qwtPlot上
        curve1->attach(ui->qwtPlot);
    
        ui->qwtPlot->replot();
        ui->qwtPlot->show();
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    其中的QwtPlotCurve即为plot组件,由此可知我们可以往qwtPlot中加入多个组件。 
    其中QwtPlotCurve的组件有:

    QwtPlotCurve 曲线
    QwtPlotMarker 标记
    QwtPlotGrid 网格
    QwtPlotHistogram 直方图
    other 从QwtPlotItem继承的组件

    e)我们下面来试试两个曲线组件 
    把之前的拷贝复制修改下:

        //数据x,y值保存
        QVector<QPointF> vector2;
        for(int i =0;i<100;i++){
            QPointF point;
            point.setX(i);
            int y = 10*sin(i*M_PI/10) + 20;
            point.setY(y);
            vector2.append(point);
        }
        //构造曲线数据
        QwtPointSeriesData* series2 = new QwtPointSeriesData(vector2);
        //create plot item
        QwtPlotCurve* curve2 = new QwtPlotCurve("Curve 2");
        //设置数据
        curve2->setData(series2);
        //把曲线附加到qwtPlot上
        curve2->attach(ui->qwtPlot);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    这时我们看看结果: 
    这里写图片描述 
    f)然后我们试试给曲线设置画笔,在将curve附加到qwtPlot之前分别为curve1和curve2加入如下两句:

        //设置画笔
        curve1->setPen(QColor(255,0,0),2,Qt::SolidLine);
       ......
        //设置画笔
        curve2->setPen(QColor(0,0,255),2,Qt::DotLine);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    再来看看效果图: 
    这里写图片描述

    g)设置填充画刷,还是在附加到qwtPlot之前加入以下语句

        //设置填充画刷
        QBrush brush2(QColor(128,128,128));
        curve1->setBrush(brush2);
        ......
        //设置填充画刷
        QBrush brush3(QColor(192,192,192));
        curve2->setBrush(brush3);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    看看效果图 
    这里写图片描述

    h)加入网格,在代码最后添加如下:

        //加入网格
        QwtPlotGrid* grid = new QwtPlotGrid();
        grid->setPen(QColor(222,222,222),1);
        grid->attach(ui->qwtPlot);
    • 1
    • 2
    • 3
    • 4

    效果如图: 
    这里写图片描述

    i)最后介绍下如何删除所画的图形,很简单

        //删除所画的图形
        curve1->detach();
        curve2->detach();
    • 1
    • 2
    • 3

    也就是把相关组件取消关联即可。

    好了关于QwtPlot的简单使用就介绍到这了,关于QwtPlot的更多功能请参看文档实现。

    本实例的所有源码附加如下: 
    main.cpp

    #include "mainwindow.h"
    #include <QApplication>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
    
        return a.exec();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    public:
        void qwtPlotTest();
    private:
        Ui::MainWindow *ui;
    };
    
    #endif // MAINWINDOW_H
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QDebug>
    #include <qwt_plot.h>
    #include <qwt_plot_curve.h>
    #include <qwt_plot_grid.h>
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
        qwtPlotTest();
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::qwtPlotTest()
    {
        int width = this->width()- 50;
        int height = this->height() - 100;
    
        //qDebug()<<width<<height;
        //移动QwtPlot控件到父窗口的0,0起始位
        ui->qwtPlot->move(0,0);
        //设置QwtPlot控件的大小
        ui->qwtPlot->resize(width,height);
    
        //参数是QString
        //ui->qwtPlot->setTitle(QObject::trUtf8("QwtPlot Test"));
        QwtText t;
        //设置标题名
        t.setText(QObject::trUtf8("QwtPlot Test"));
        //设置字体
        QFont font;
        //设置粗体
        font.setBold(true);
        //设置斜体
        font.setItalic(true);
        t.setFont(font);
        //设置颜色
        t.setColor(QColor(255,0,0));
    
        //设置标题背景色
        QBrush brush(QColor(0,0,255));
        t.setBackgroundBrush(brush);
    
        ui->qwtPlot->setTitle(t);
    
        //设置纵坐标
        //第一个参数表示坐标轴,
        //第二个参数表示坐标轴最小值
        //第三个参数表示坐标轴最大值
        //第四个参数表示步进
        //QwtPlot有四条坐标轴,分别对应如下
        //左坐标轴  QwtPlot::yLeft
        //右坐标轴  QwtPlot::yRight
        //底部坐标轴 QwtPlot::xBottom
        //顶部坐标轴 QwtPlot::xTop
    
        ui->qwtPlot->enableAxis(QwtPlot::yRight,true);
        ui->qwtPlot->enableAxis(QwtPlot::xTop,true);
    
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::yLeft);
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::xBottom);
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::yRight);
        qDebug()<<ui->qwtPlot->axisEnabled(QwtPlot::xTop);
    
        ui->qwtPlot->setAxisScale(QwtPlot::yLeft,0,100,10);
        ui->qwtPlot->setAxisScale(QwtPlot::xBottom,0,100,10);
        ui->qwtPlot->setAxisScale(QwtPlot::yRight,0,100,10);
        ui->qwtPlot->setAxisScale(QwtPlot::xTop,0,100,10);
    
        ui->qwtPlot->setAxisTitle(QwtPlot::yLeft,QObject::trUtf8("Left"));
        ui->qwtPlot->setAxisTitle(QwtPlot::yRight,QObject::trUtf8("Right"));
        ui->qwtPlot->setAxisTitle(QwtPlot::xBottom,QObject::trUtf8("Bottom"));
        ui->qwtPlot->setAxisTitle(QwtPlot::xTop,QObject::trUtf8("Top"));
    
        //微软雅黑
        //黑体
        QFont f("宋体", 12);//Helvetica [Cronyx]
        ui->qwtPlot->setAxisFont(QwtPlot::xBottom,f);
    
        //数据x,y值保存
        QVector<QPointF> vector;
        for(int i =0;i<100;i++){
            QPointF point;
            point.setX(i);
            int y = 20*sin(i*M_PI/10) + 50;
            point.setY(y);
            vector.append(point);
        }
        //构造曲线数据
        QwtPointSeriesData* series = new QwtPointSeriesData(vector);
    
        //create plot item
        QwtPlotCurve* curve1 = new QwtPlotCurve("Curve 1");
        //设置数据
        curve1->setData(series);
        //设置画笔
        curve1->setPen(QColor(255,0,0),2,Qt::SolidLine);
        //设置填充画刷
        QBrush brush2(QColor(128,128,128));
        curve1->setBrush(brush2);
        //使曲线更光滑
        curve1->setCurveAttribute(QwtPlotCurve::Fitted, true);
        //把曲线附加到qwtPlot上
        curve1->attach(ui->qwtPlot);
    
        //数据x,y值保存
        QVector<QPointF> vector2;
        for(int i =0;i<100;i++){
            QPointF point;
            point.setX(i);
            int y = 10*sin(i*M_PI/10) + 20;
            point.setY(y);
            vector2.append(point);
        }
        //构造曲线数据
        QwtPointSeriesData* series2 = new QwtPointSeriesData(vector2);
        //create plot item
        QwtPlotCurve* curve2 = new QwtPlotCurve("Curve 2");
        //设置数据
        curve2->setData(series2);
        //设置画笔
        curve2->setPen(QColor(0,0,255),2,Qt::DotLine);
        //设置填充画刷
        QBrush brush3(QColor(192,192,192));
        curve2->setBrush(brush3);
        //把曲线附加到qwtPlot上
        curve2->attach(ui->qwtPlot);
    
        //加入网格
        QwtPlotGrid* grid = new QwtPlotGrid();
        grid->setPen(QColor(222,222,222),1);
        grid->attach(ui->qwtPlot);
    
        //删除所画的图形
        //curve1->detach();
        //curve2->detach();
    
        ui->qwtPlot->replot();
        ui->qwtPlot->show();
    }
    展开全文
  • QWtplot

    2017-09-07 23:07:15
    Qwt使用之QwtPlot 标签: qwt 2013-08-19 22:52 21413人阅读 评论(6) 收藏 举报  分类: Qt(15)  目录(?)[+] QwtPlot是用来绘制二维图像的widget。在它的画板上可以无限制...

    Qwt使用之QwtPlot

    标签: qwt
     21413人阅读 评论(6) 收藏 举报
     分类:

    目录(?)[+]

    QwtPlot是用来绘制二维图像的widget。在它的画板上可以无限制的显示绘画组件。绘画组件可以是曲线(QwtPlotCurve)、标记(QwtPlotMarker)、网格(QwtPlotGrid)、或者其它从QwtPlotItem继承的组件。
     

    QwtPlot拥有4个axes(轴线)

    yLeft  Y axis left of the canvas.
    yRight  Y axis right of the canvas.
    xBottom  X axis below the canvas.
    xTop  X axis above the canvas.
     

    常用函数接口

    setAxisTitle 设置轴标题
    enableAxis 主要是显示xTop,yRight坐标轴
    setAxisMaxMajor 设置某个某个坐标轴扩大比例尺的最大间隔数目
    setAxisMaxMinor 设置某个某个坐标轴缩小比例尺的最大间隔数目
    setAxisScale 禁用自动缩放比例尺,为某个坐标轴指定一个修改的比例尺
    insertLegend 添加图例(标注)
     

    常用组件

    QwtPlotCurve 曲线
    QwtPlotMarker 标记
    QwtPlotGrid 网格
    QwtPlotHistogram 直方图
    other 从QwtPlotItem继承的组件
     
    QwtPlotItem plot能显示的类,如果想要实现自己绘画图形,要继承此类实现rtti和draw接口
    QwtPlotPanner 平移器    (用鼠标左键平移)
    QwtPlotMagnifier  放大器    (用鼠标滚轮缩放)
    QwtPlotCanvas 画布
    QwtScaleMap 比例图---可以提供一个逻辑区域到实际区域的坐标转换
    QwtScaleWidget 比例窗口
    QwtScaleDiv 比例布局
    QwtLegent 标注
    QwtPlotLayout 布局管理器
    QwtScaleDraw 自画坐标轴
     
     

    QwtPlotCure简介

     
    常见接口
    setPen 设置画笔
    setData 设置曲线的数据
    setStyle 设置曲线形式,点、直线、虚线等等
    setCurveAttribute 设置曲线属性,一般设置Fitted
    attch 把曲线附加到QwlPlot上
     
    下面看一个小例子,结果如下:
     
     
     
    源代码:

     

    1. #include <QtGui/QApplication>  
    2. #include <Qt/qmath.h>  
    3. #include <QVector>  
    4. #include <qwt_plot.h>  
    5. #include <qwt_plot_curve.h>  
    6. #include <qwt_plot_magnifier.h>  
    7. #include <qwt_plot_panner.h>  
    8. #include <qwt_legend.h>  
    9.   
    10. int main(int argc, char *argv[])  
    11. {  
    12.     QApplication a(argc, argv);  
    13.   
    14.     QwtPlot plot(QwtText("CppQwtExample1"));  
    15.     plot.resize(640,400);  
    16.     //设置坐标轴的名称  
    17.     plot.setAxisTitle(QwtPlot::xBottom, "x->");  
    18.     plot.setAxisTitle(QwtPlot::yLeft, "y->");  
    19.     //设置坐标轴的范围  
    20.     plot.setAxisScale(QwtPlot::xBottom, 0.0, 2.0 * M_PI);  
    21.     plot.setAxisScale(QwtPlot::yLeft, -1.0, 1.0);  
    22.     //设置右边标注  
    23.     plot.insertLegend(new QwtLegend(), QwtPlot::RightLegend);  
    24.   
    25.     //使用滚轮放大/缩小  
    26.     (voidnew QwtPlotMagnifier( plot.canvas() );  
    27.   
    28.     //使用鼠标左键平移  
    29.     (voidnew QwtPlotPanner( plot.canvas() );  
    30.   
    31.     //计算曲线数据  
    32.     QVector<double> xs;  
    33.     QVector<double> ys;  
    34.     for (double x = 0; x < 2.0 * M_PI; x+=(M_PI / 10.0))  
    35.     {  
    36.         xs.append(x);  
    37.         ys.append(qSin(x));  
    38.     }  
    39.     //构造曲线数据  
    40.     QwtPointArrayData * const data = new QwtPointArrayData(xs, ys);  
    41.     QwtPlotCurve curve("Sine");  
    42.     curve.setData(data);//设置数据  
    43.     curve.setStyle(QwtPlotCurve::Lines);//直线形式  
    44.     curve.setCurveAttribute(QwtPlotCurve::Fitted, true);//是曲线更光滑  
    45.     curve.setPen(QPen(Qt::blue));//设置画笔  
    46.   
    47.     curve.attach(&plot);//把曲线附加到plot上  
    48.   
    49.     plot.show();  
    50.   
    51.     return a.exec();  
    52. }  
    展开全文
  • QwtPlot

    千次阅读 2019-01-18 10:08:49
    https://blog.csdn.net/u013007900/article/details/50055353
    展开全文
  • github仓库sintegrial/qwtplot3d中的qwtplot3代码,与原始代码相比有修改
  • qwtplot3d.rar

    2020-05-22 15:48:33
    在qt 5.8 msvc下编译了qwtplot3d动态库,可是直接使用,如果你需要自己编译,请参考https://blog.csdn.net/foxgod/article/details/106281435
  • qwtplot绘图

    2019-12-24 12:18:10
    这些头文件都通过编译qwtplot6.1.3产生,编译见VS2015配置64位qwt6.1.3 #include <qwt_plot.h> #include <qwt_plot_curve.h> #include <qwt_plot_canvas.h> #include <qdatetime.h> #...

    需要插入的头文件

    这些头文件都通过编译qwtplot6.1.3产生,编译见VS2015配置64位qwt6.1.3

    #include <qwt_plot.h>
    #include <qwt_plot_curve.h>
    #include <qwt_plot_canvas.h>
    #include <qdatetime.h>
    #include <qwt_abstract_scale_draw.h>
    #include <qwt_plot_grid.h>
    #include <qwt_scale_widget.h>
    #include <qwt_plot_layout.h>
    #include <qwt_symbol.h> 
    

    初始变量定义

    QVector<double> m_DataVectorX;
    QVector<double> m_DataVectorY;
    QwtPlot *m_ProfileQwtPlot;
    QwtPlotCurve *m_ProfileCurve;
    void ShowCurve();
    

    函数实现

    void Resonator::ShowCurve()
    {
    
    	m_ProfileQwtPlot = new QwtPlot(this);
    	m_ProfileQwtPlot->move(20, 50);
    	m_ProfileQwtPlot->setFixedWidth(300);    // 设置坐标轴的大小
    	m_ProfileQwtPlot->setFixedHeight(300);
    	m_ProfileQwtPlot->setTitle("Curve");         // 设置坐标轴的标题
    	m_ProfileQwtPlot->setAxisScale(QwtPlot::yLeft, -4, 4, 1); // 坐标轴的范围和间隔
    	m_ProfileQwtPlot->setAxisScale(QwtPlot::xBottom, -4, 4, 1);
    	m_ProfileQwtPlot->enableAxis(QwtPlot::xBottom, true);
    	m_ProfileQwtPlot->setStyleSheet("background:transparent;");//删除坐标轴背景
    	m_ProfileQwtPlot->setAxisMaxMinor(QwtPlot::xBottom, 5);
    	m_ProfileQwtPlot->setAxisMaxMinor(QwtPlot::yLeft, 5);//设置每一个大格有都少个小格
    	m_ProfileQwtPlot->setCanvasBackground(Qt::white); // 设置背景白色
    
    	for (int n = 0; n < m_ProfileQwtPlot->axisCnt; n++)
    	{
    		QwtScaleWidget *poScaleWidget = m_ProfileQwtPlot->axisWidget(n);
    		if (poScaleWidget)
    		{
    			poScaleWidget->setMargin(0);
    		}
    		QwtScaleDraw *poScaleDraw = m_ProfileQwtPlot->axisScaleDraw(n);
    		if (poScaleDraw)
    		{
    			poScaleDraw->enableComponent(QwtAbstractScaleDraw::Backbone, false);
    		}
    	}
    	m_ProfileQwtPlot->plotLayout()->setAlignCanvasToScales(true);
    
    	QwtPlotGrid *grid = new QwtPlotGrid();
    	grid->enableXMin(true);
    	grid->enableYMin(true);
    	grid->enableX(true);
    	grid->enableY(true);
    	grid->setMajorPen(QPen(Qt::gray, 0, Qt::SolidLine));  // 大网格
    	grid->setMinorPen(QPen(QColor(186, 186, 186), 0, Qt::DotLine));// 小网格
    	grid->attach(m_ProfileQwtPlot);
    
    	m_ProfileCurve = new QwtPlotCurve;
    	m_ProfileCurve->setPen(QColor(255, 85, 255), 2, Qt::SolidLine);
    	m_ProfileCurve->setCurveAttribute(QwtPlotCurve::Fitted, true);   
    	m_ProfileCurve->setRenderHint(QwtPlotItem::RenderAntialiased, true);
    	QwtSymbol *symbol = new QwtSymbol(QwtSymbol::NoSymbol,
    		QBrush(Qt::white), QPen(Qt::red, 2), QSize(3, 3));//设置样本点的颜色、大小 
    	m_ProfileCurve->setSymbol(symbol);
    	m_ProfileCurve->attach(m_ProfileQwtPlot);  
    
    
    	//读数据画图
    	QFile fr("data/circle_noise.txt");
    	if (!fr.open(QIODevice::ReadOnly | QIODevice::Text))
    	{
    		qDebug() << "LLLLLLL" << endl;
    		return;
    	}
    	QTextStream in(&fr);
    	QStringList numList;
    	while (!in.atEnd())
    	{
    		numList = in.readLine().split(" ");
    		m_DataVectorX.push_back(numList[0].toDouble());
    		m_DataVectorY.push_back(numList[1].toDouble());
    	}
    	m_ProfileCurve->setSamples(m_DataVectorX, m_DataVectorY);
    	m_ProfileCurve->setPen(QPen(Qt::blue));
    	m_ProfileQwtPlot->replot();
    }
    
    
    展开全文
  • QwtPlot解析

    千次阅读 2014-01-09 10:38:43
    QwtPlot类是一个二维绘图部件,继承自QFrame 和 QwtPlotDict。不过严格的说来,它只是一个视图窗口,真正的绘制设备是它的中心部件QwtPlotCanvas类。在QwtPlot的画布上可以显示不限数量的图元项(plot items)。这些...
  • qwtplot3D配置

    2019-06-25 17:05:28
    参考博客: qwtplot3D安装及运行-----终结解决方案 QT5.4.0环境下配置OpenGL的glut库 配置过程: 1、从网上下载qwtplot3D的最新版本。...2、解压qwtplot3d-0.2.7.zip,并用QtCreator打开qwtplot3d.pr...
  • qwtplot3d编译

    2020-03-20 16:21:05
    qwtplot3d编译 目前在学习3d相关技术,发现qwtplot3d这个3d图形库,到官网下载(http://qwtplot3d.sourceforge.net/web/navigation/feature_frame.html),我下载的0.2.7版本。 我用的电脑是win...
  • QwtPlot 鼠标移动点

    2018-09-26 17:15:36
    QwtPlot 鼠标移动曲线上的点,具体使用是,按住鼠标左键 选中点,按下shift + 鼠标移动则为移动,松鼠标左键或者松shift键则取消
  • QwtPlot简单使用

    万次阅读 多人点赞 2016-04-14 11:18:52
    1.新建一个qt新工程,往主界面中拖动一个QwtPlot控件,保存后关闭。 ps:如果在设计界面没有,试试qt界面用qt designer打开试试2.下面开始QwtPlot的简单使用 a)控件的位置移动和大小设置 int width = this->width()...
  • QwtPlot3D 代码文档

    2012-11-29 13:55:54
    用doxygen,将QwtPlot3d源码生成的程序代码说明文档,方便查看。
  • Qt5.7.0集成qwtplot3d

    2017-04-17 08:04:22
    qt版本为qt-opensource-windows-x86-mingw530-5.7.0 qwtplot3d版本为qwtplot3d-0.2.7 请问怎么把qwtplot3d添加进去啊,网上找了好多教程,都试了还没成功,好绝望啊,求大神教一下
  • QwtPlot类解读

    2020-09-01 10:47:19
    简介:QwtPlot是一个绘制二维图表的小部件(widget)。在它的画布上可以展示无个数限制的图元项。图元项可以是曲线(QwtPlotCurve)、标记(QwtPlotMarker)、网格线(QwtPlotGrid)、或者任何继承自QwtPlotItem的类...
  • qt56编译qwtplot3d库文件

    2017-12-17 15:32:49
    qt56编译qwtplot3d库文件.dll和.lib 包括32位和64位 的文件
  • qwtplot怎么画矩形框

    2021-07-15 17:52:33
    我最近在做qwtplot的项目,需要在上面画矩形框,我试过用qpainter,发现在qwtplot上面不能显示,然后我看到有qwtpainter类里有drawRect函数,但是参数里有qpainter,我看用户手册里也没说要怎么定义这个qpainter,...
  • Windows10 编译 QWTPlot3d

    2020-12-21 17:15:56
    Windows10 编译 QWTPlot3d 下载: qwtplot3d-0.2.7.zip (2020.12.21) http://qwtplot3d.sourceforge.net/ 解压, 用Qt打开,进行编译 报错: error: dependent ‘…\qwtplot3d\include\gl\GLU.H’ does not exist....
  • qwtplot3D安装

    2018-05-31 11:12:06
    开发环境QT-opensource-4.8.6:网盘-&gt;...qt/mingw32下载地址:https://sourceforge.net/projects/mingw-w64/?source=typ_redirectqwtplot3D下载地址:http://qwtplot3d.sourceforge.net/...
  • QwtPlot类源码解读

    2020-10-13 11:59:00
    class QWT_EXPORT QwtPlot: public QFrame, public QwtPlotDict { Q_OBJECT Q_PROPERTY( QBrush canvasBackground READ canvasBackground WRITE setCanvasBackground ) Q_PROPERTY( bool autoReplot READ ...
  • 转载自:QT5.3+VS2013+QCustomPlot+QwtPlot+QwtPlot3D使用环境配置 https://www.cnblogs.com/yanqi0124/p/3951602.html VS安装QT后运行环境所需配置 安装好QT和QT在VS下的插件之后: 1.打开VS,找到QT5→QT ...
  • qwtplot3d

    2010-11-18 14:25:00
    http://qwtplot3d.sourceforge.net/web/navigation/feature_frame.html
  • qwt-QwtPlot

    千次阅读 2014-07-18 15:29:42
    学习这个东西方向对了,就对了一半 今天我开始学习基于qt库的一个开源...它继承自QFrame和QwtPlotDict,QFrame提供一个QWidget的框架,QwtPlotDict为QwtPlot管理在其中的plot items,就是绘制的项。在QwtPlot上我们
  • 3、打开C:\qwtplot3d-0.2.7\qwtplot3d,将会看到qwtplot3d.pro文件。 4、打开pro文件,编译,会报错如下 和网上的解决方法一样,修改qwtplot3d.pro文件中的win32:TEMPLATE= vclib,将其改为win32:TEMPLATE= lib。 5
  • Qt和OpenGL实现的3D的显示类,支持qt4与qt5,VS2008-VS2015。qwtplot3d-0.3.1版本还更新了点云的显示,可以自己去扩展
  • 使用qwtPlot3D实现三维曲线、轨迹绘制的例子,使用qt基于c++开发,可以直接运行,无需额外配置,里面包含了所有需要的库文件和头文件,弄了好久才弄出来的,我没有在网上找到其他的类似的代码,在一些博主和热心人的...
  • QwtPlot画曲线

    2015-08-11 14:33:54
    直接用代码写 #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); QwtPlot plot(QwtText("Cp
  • QT之qwtplot3d使用(二) 本次介绍qwtplot3d编译的注意事项和该库的使用方法。 qwtplot3d编译配置 qt项目的配置在.pro文件中书写,该文件的详细语法内容可以参考下面这篇博客: Qt 之 pro 配置详解 以下仅说明和本...
  • QT之qwtplot3d使用(一)

    千次阅读 2019-09-08 00:03:13
    QT之qwtplot3d使用(一) qwtplot3d 简介 qwtplot3d是qt解决三维图形绘制的库,核心通过调用openGL库完成,可以实现三维曲面绘制,三维状态下折线,散点等图形的绘制。但是其在十多年前推出后一直没有太大的更新,...
  • qwtplot3d安装配置过程

    千次阅读 2017-11-23 19:58:00
    本文主要源于http://blog.csdn.net/qinpanke/article/details/8062517博文,但是按照过程中遇到新的问题,经过摸索,补充了2...2、解压qwtplot3d-0.2.7.zip到C盘根目录下(注意:路径中不能带有中文汉字)。 3、打开C:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,736
精华内容 694
关键字:

qwtplot