qt超強精美繪圖控件 - QCustomPlot一覽 及 安裝使用教程


 

1.概述

QCustomPlot 是一個超強超小巧的qt繪圖類,非常漂亮,非常易用,只需要加入一個qcustomplot.h和qcustomplot.cpp文件即可使用,遠比qwt方便和漂亮,可以自己使用兩個源文件也可以自己編譯成庫文件,非常方便。

官方網站:http://www.qcustomplot.com/

1.0下載地址:http://download.csdn.net/detail/czyt1988/5986701

下面展示一下它的超強功能:

 

 

 

1.安裝

 

使用QCustomPlot非常簡單,只需要把qcustomplot.cpp和qcustomplot.h拷貝到工程目錄下,然后把這兩個文件引入工程項目即可

在項目中點右鍵添加現有文件,把兩個文件加入工程

這時pro文件會添加上qcustomplot.cpp和qcustomplot.h,這時還需要添加的是

 

QT += widgets printsupport

 

由於使用到打印相關,所以需要加入printsupport,在原有的widgets 后面加入即可

 

這時就可以使用QCustomPlot了。

為了能在ui designer里面使用QCustomPlot,可以使用一個Widget窗體在ui設計器上,對這個窗體點擊右鍵,選擇提升為


把提升的類名填寫為QCustomPlot即可,這樣就可以使用了,使用就和我們用普通控件一樣,ui->xxx->……

 

2.繪圖

 

QCustomPlot的繪圖過程非常非常簡單。和大部分的繪圖控件相似,繪圖時首先需要有一個圖形,或者說是圖層,通過addGraph即可添加一個曲線圖層,此函數返回這個曲線圖層的指針,或者通過曲線索引來找到,所有添加的曲線都放置在一個list里面,如果是第一個添加的話,那么這個索引就是0了,

customPlot->graph(0)

當然每個曲線最好給它定義一個名字方便查找

可以使用setName和name函數分別設置和獲取曲線的名字

添加完曲線即可對這個曲線設置數據,QCustomPlot用於繪制趨勢圖非常方便

直接使用函數setData即可設置數據,

void setData (QCPDataMap*data, bool copy= false)
void setData ( const QVector< double > &key, const QVector< double > &value)

只要有個x,y等長度的vector數據即可輕松繪圖

也可以追加數據

void addData ( const QCPDataMap&dataMap)
void addData ( const QCPData&data)
void addData ( double key, double value)
void addData ( const QVector< double > &keys, const QVector< double > &values)

QCustomPlot這個類設計的非常清晰明了,離散化程度不高,非常易用

設置完數據后可以對x,y軸進行設置

customPlot->xAxis->setLabel("x");
customPlot->yAxis->setLabel("y");

或者設置x,y軸的范圍

customPlot->xAxis->setRange(-1,1);
customPlot->yAxis->setRange(0,1);

如果你不清楚范圍,而已使用

QCustomPlot::rescaleAxes()函數,它會自動設置最合適的顯示范圍,非常簡便。

設置完成后即可顯示圖像

使用QCustomPlot::replot函數使圖像進行重繪,show函數也會觸發重繪事件。

效果:


 

這時繪制出來的圖像是不能移動或者是放大縮小的,QCustomPlot可以很簡單實現移動和放大縮小功能

使用QCustomPlot的函數setInteractions即可

setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);

這樣就能實現移動和縮放了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM