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