Qt常用的圖表第三方庫,有Qwt和kdChart兩種,Qwt做的還是比較好一些,讓人感覺很專業,下面是在網上收集到的小程序,供大家參考和學習,也為自己進步做基礎。
使用QWT曲線庫時,在工程文件pro中加入以下路徑,否則不能編譯通過:
DEFINES += QWT_DLL CONFIG += qwt LIBS +=-L"D:/Qt/4.8.5/lib" -lqwtd //換上你自己QWT路徑 INCLUDEPATH +=D:/Qt/4.8.5/include/QtQwt //換上你自己QWT路徑
程序1:使用Qwt庫畫波形
#include <QtGui/QApplication>
#include <Qt/qmath.h>
#include <QVector>
#include <qwt_plot.h>
#include <qwt_plot_curve.h>
#include <qwt_plot_magnifier.h>
#include <qwt_plot_panner.h>
#include <qwt_legend.h>
#include <qwt_point_data.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QwtPlot plot(QwtText("CppQwtExample1"));
plot.resize(640,400);
//設置坐標軸的名稱
plot.setAxisTitle(QwtPlot::xBottom, "x->");
plot.setAxisTitle(QwtPlot::yLeft, "y->");
//設置坐標軸的范圍
plot.setAxisScale(QwtPlot::xBottom, 0.0, 2.0 * M_PI);
plot.setAxisScale(QwtPlot::yLeft, -1.0, 1.0);
//設置右邊標注
plot.insertLegend(new QwtLegend(), QwtPlot::RightLegend);
//使用滾輪放大/縮小
(void) new QwtPlotMagnifier( plot.canvas() );
//使用鼠標左鍵平移
(void) new QwtPlotPanner( plot.canvas() );
//計算曲線數據
QVector<double> xs;
QVector<double> ys;
for (double x = 0; x < 2.0 * M_PI; x+=(M_PI / 10.0))
{
xs.append(x);
ys.append(qSin(x));
}
//構造曲線數據
QwtPointArrayData * const data = new QwtPointArrayData(xs, ys);
QwtPlotCurve curve("Sine");
curve.setData(data);//設置數據
curve.setStyle(QwtPlotCurve::Lines);//直線形式
curve.setCurveAttribute(QwtPlotCurve::Fitted, true);//是曲線更光滑
curve.setPen(QPen(Qt::blue));//設置畫筆
curve.attach(&plot);//把曲線附加到plot上
plot.show();
return a.exec();
}本文出自 “LinuxQt濟南高新區” 博客,請務必保留此出處http://qtlinux.blog.51cto.com/3052744/1318759