Qt 使用 qcustomplot 绘制曲线例子

Qt 使用 qcustomplot 绘制曲线例子,第1张

文件

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include "cwidgetcheckbox.h"

#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :

    QMainWindow(parent),

    ui(new Ui::MainWindow)

{

    ui->setupUi(this)

    m_pPlot = new QCustomPlot

    m_pPlot->setInteractions(QCP::iRangeDrag|QCP::iRangeZoom|QCP::iMultiSelect|QCP::iSelectOther|QCP::iSelectItems)

    m_pPlot->axisRect()->setupFullAxesBox()

    m_pPlot->xAxis->setLabel("时间"举型)

    m_pPlot->yAxis->setLabel("值"正汪猜)

    m_pPlot->xAxis->setRange(0,30)

    m_pPlot->yAxis->setRange(0,100)

    m_pPlot->legend->setVisible(true)

    //m_pPlot->graph( index )->setName(QString::fromStdString(nameVec[0][0]))

    ui->verticalLayout->addWidget( m_pPlot )

    m_id = startTimer(10)

    m_line = m_pPlot->addGraph()

    m_line->setName( tr("test") )

    m_line->setPen(QPen(QColor(255,0,0)))

    m_line->setScatterStyle(QCPScatterStyle::ssDisc)

    m_index = 0

}

MainWindow::~MainWindow()

{

    delete ui

}

double MainWindow::getData(double time)

{

    double s = qCos( time * M_PI * 2 )

    return s

}

void MainWindow::timerEvent(QTimerEvent *event)

{

    int data = qrand()%20

    m_line->addData(m_index, data)

    //m_line->addData(vecX,m_vetData)

    m_pPlot->replot()

    m_index++

    if( m_index >31 )

    {

        m_pPlot->xAxis->setRange(m_index-30,m_index)

    }

    QMainWindow::timerEvent(event)

}

头文件

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <陵友QMainWindow>

#include "qcustomplot.h"

namespace Ui {

class MainWindow

}

class MainWindow : public QMainWindow

{

    Q_OBJECT

public:

    explicit MainWindow(QWidget *parent = 0)

    ~MainWindow()

    double getData(double time)

protected:

    void timerEvent(QTimerEvent *event) Q_DECL_OVERRIDE

    //void timerEvent(QTimerEvent *event)

private slots:

private:

    Ui::MainWindow *ui

    QCPGraph * m_line

    QCustomPlot * m_pPlot

    QVector  m_vetData

    int m_index

    int m_id

}

#endif // MAINWINDOW_H

显然不是引扰举号错了,错了会报语法错误的呀,是不是?

可能是路径不对,我曾经遇到过,在OPTION菜单里把LIB文件夹路径改一下就好了,一般是不会没有这个文件的。

C0S.OBJ 应该在 TC 安装目录内 Lib如果文件在,则应设置菜单 Option->Directories->Library Directories 为 Lib 目录的正确路径

如果用其他内存模式,则不需要此文件缓大碧。

1、检查是否有c0s.obj文件,可以到tc的目录下,用dir c0s.obj/s命令检查;

2、假设找到该文件在\tc\lib目录下,进入tc的界面后,按Alt+O键打开Option菜单,选择Directory项,将其中的Turbo C Directory设置为D:\tc(D为TC所在盘符)、Include Directory设置为所仿塌有的.h文件所在目录、Library Directory设置为c0s.obj等.obj和.lib文件所在路径,最后将修改内容保存(选择“option”的“save”项),重新启动 tc。

3、如果以上两种都不行,请重新安装。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12298017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存