溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Qt繪圖插件QCustomPlot下載 安裝 配置 使用

發(fā)布時(shí)間:2020-07-29 08:48:34 來(lái)源:網(wǎng)絡(luò) 閱讀:1870 作者:WZM3558862 欄目:編程語(yǔ)言



一、配置QCustomPlot

官方下載地址:http://www.qcustomplot.com/index.php/download

Qt繪圖插件QCustomPlot下載  安裝  配置 使用

下載之后將文件解壓(不要有中文路徑)

打開Qt,新建一個(gè)窗體工程

將解壓得到的文件夾里面的頭文件qcustomplot.h和源文件qcustomplot.cpp復(fù)制到工程文件夾下

在Qt中,添加已有文件,將頭文件qcustomplot.h和提升類名稱輸入“QCustomPlot”,點(diǎn)擊添加源文件qcustomplot.cpp都添加到工程

Qt繪圖插件QCustomPlot下載  安裝  配置 使用

在工程的pro中添加上printsupport

Qt繪圖插件QCustomPlot下載  安裝  配置 使用

打開界面文件,進(jìn)入ui,向主窗口中添加一個(gè)widget區(qū)域,對(duì)著所添加的widget區(qū)域點(diǎn)擊右鍵,選擇“提升為”按鈕

Qt繪圖插件QCustomPlot下載  安裝  配置 使用

提升類名稱輸入“QCustomPlot”,點(diǎn)擊添加

Qt繪圖插件QCustomPlot下載  安裝  配置 使用

點(diǎn)擊提升,完成配置


二、QCustomPlot的使用

原理:

QCustomPlot可以理解為就是一個(gè)繪圖板的類,它繼承于Widget,界面中的Widget類提升為QCustomPlot才能夠繪圖

QCustomPlot中的每一個(gè)曲線是一個(gè)Graph對(duì)象,凡是跟顯示數(shù)據(jù)有關(guān)的我們就對(duì)Graph進(jìn)行操作或調(diào)用Graph對(duì)象提供的方法

一個(gè)QCustomPlot里有四個(gè)坐標(biāo)軸,其中xAxisyAxis就是我們上圖看到的x和y坐標(biāo)軸,還有兩個(gè)坐標(biāo)軸xAxis1和yAxis1為上方和右方的x、y坐標(biāo),默認(rèn)隱藏,可以通過(guò)程序設(shè)計(jì)顯示


接著上面的操作,首先將上面提升為QCustomPlot類的容器界面的對(duì)象重命名為qCustomPlot

在主類Widget構(gòu)造函數(shù)中加入如下代碼,繪制一個(gè)標(biāo)準(zhǔn)標(biāo)準(zhǔn)的y=x^3的曲線

[cpp] view plain copy

  1. Widget::Widget(QWidget *parent) :  

  2.     QWidget(parent),  

  3.     ui(new Ui::Widget)  

  4. {  

  5.     ui->setupUi(this);  

  6.   

  7.     //定義兩個(gè)可變數(shù)組存放繪圖的坐標(biāo)數(shù)據(jù)  

  8.     QVector<double> x(101),y(101);//分別存放x和y坐標(biāo)的數(shù)據(jù),101為數(shù)據(jù)長(zhǎng)度  

  9.     //添加數(shù)據(jù),我們這里演示y=x^3,為了正負(fù)對(duì)稱,我們x從-10到+10  

  10.     for(int i=0;i<101;i++)  

  11.     {  

  12.         x[i] = i/5 - 10;  

  13.         y[i] = x[i] * x[i] * x[i];  

  14.     }  

  15.   

  16.     //向繪圖區(qū)域QCustomPlot(從widget提升來(lái)的)添加一條曲線  

  17.     ui->qCustomPlot->addGraph();  

  18.     //添加數(shù)據(jù)  

  19.     ui->qCustomPlot->graph(0)->setData(x,y);  

  20.   

  21.     //設(shè)置坐標(biāo)軸標(biāo)簽名稱  

  22.     ui->qCustomPlot->xAxis->setLabel("x");  

  23.     ui->qCustomPlot->yAxis->setLabel("y");  

  24.   

  25.     //設(shè)置坐標(biāo)軸顯示范圍,否則我們只能看到默認(rèn)的范圍  

  26.     ui->qCustomPlot->xAxis->setRange(-11,11);  

  27.     ui->qCustomPlot->yAxis->setRange(-1100,1100);  

  28.       

  29.     //重繪,這里可以不用,官方例子有,執(zhí)行setData函數(shù)后自動(dòng)重繪  

  30.     //我認(rèn)為應(yīng)該用于動(dòng)態(tài)顯示或者是改變坐標(biāo)軸范圍之后的動(dòng)態(tài)顯示,我們以后探索  

  31.     //ui->qCustomPlot->replot();  

  32.   

  33. }  


編譯


Qt繪圖插件QCustomPlot下載  安裝  配置 使用



最后,我在操作的過(guò)程中遇到這里出現(xiàn)錯(cuò)誤

Qt繪圖插件QCustomPlot下載  安裝  配置 使用

[cpp] view plain copy

  1. #include"../../qcustomplot.h"  

改成


[cpp] view plain copy

  1. #include <qcustomplot.h>  


就可以了


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI