Qt第三方庫----QCustomPlot

1、軟件下載php

下載地址:http://www.qcustomplot.com/index.php/download 數組

這裏推薦下載第一個連接的內容:
函數

注:這裏的第三方庫要放在非中文目錄下。ui


2、配置this

(1)、新建工程,而且添加頭文件qcustomplot.h和源文件qcustomplot.cpp。spa

(2)、在工程pro文件末尾添加printsupport:
設計

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

(3)、進入圖形設計界面,添加widget控件,對着所添加的widget區域點擊右鍵,選擇「提高爲」按鈕,提高類名稱輸入「QCustomPlot」,點擊添加。code

(4)、運行程序,以下所示:對象

至此,QCustomPlot已經配置完畢。繼承

注:默認狀況下是x:0~4.8,y:0~4.8。


3、繪圖

原理:

QCustomPlot是一個繪圖板的類,它繼承於Widget,界面中的Widget類提高爲QCustomPlot纔可以繪圖。

QCustomPlot中的每個曲線是一個Graph對象,凡是跟顯示數據有關的就對Graph進行操做或調用Graph對象提供的方法。

一個QCustomPlot裏有四個座標軸,其中xAxisyAxis就是咱們上圖看到的x和y座標軸,還有兩個座標軸xAxis1和yAxis1爲上方和右方的x、y座標,默認隱藏,能夠經過程序設計顯示。

步驟:

(1)、首先將上面提高爲QCustomPlot類的容器界面的對象widget重命名爲qCustomPlot。

(2)、在主類Widget構造函數中添加以下代碼,便可繪製一個標準標準的y=x^3的曲線。

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //定義兩個可變數組存放繪圖的座標數據
    QVector<double> x(101),y(101);//分別存放x和y座標的數據,101爲數據長度
    //添加數據,咱們這裏演示y=x^3,爲了正負對稱,咱們x從-10到+10
    for(int i=0;i<101;i++)
    {
        x[i] = i/5 - 10;
        y[i] = x[i] * x[i] * x[i];
    }

    //向繪圖區域QCustomPlot(從widget提高來的)添加一條曲線
    ui->qCustomPlot->addGraph();
    //添加數據
    ui->qCustomPlot->graph(0)->setData(x,y);

    //設置座標軸標籤名稱
    ui->qCustomPlot->xAxis->setLabel("x");
    ui->qCustomPlot->yAxis->setLabel("y");

    //設置座標軸顯示範圍,不然咱們只能看到默認的範圍
    ui->qCustomPlot->xAxis->setRange(-11,11);
    ui->qCustomPlot->yAxis->setRange(-1100,1100);
    
    //重繪,這裏能夠不用,官方例子有,執行setData函數後自動重繪
    //我認爲應該用於動態顯示或者是改變座標軸範圍以後的動態顯示,咱們之後探索
    //ui->qCustomPlot->replot();

}

圖形以下所示:

說明:若是設置完x、y取值範圍以後,顯示結果仍然爲默認範圍(即x:0~4.8,y:0~4.8),那麼緣由在於沒有把設置代碼放在構造函數中(也就是說構造函數調用的仍然是默認的配置),只須要將初始化代碼放在構造函數中便可。

相關文章
相關標籤/搜索