QT移植第三方QWT
阿新 • • 發佈:2018-12-09
QWT移植
二、解壓檔案,用QT開啟檔案下的專案檔案;執行qmake和build
三、1.開啟生成的構建目錄(我的是F:\MyDownloads\11)找到文下的qwt_designer_plugin.dll檔案。
2.把它拷貝到QT安裝目錄的QT5.5.1\Tools\QtCreator\bin\plugins\designer檔案下面。
3.重新開啟QT在ui介面就會出現QWT控制元件。
四、在項目中如果要使用QWT控制元件,在.pro檔案新增連結lib庫及標頭檔案(lib庫是構建時生成的在F:\MyDownloads\11\lib目錄下,標頭檔案在F:\MyDownloads\qwt-6.1.3\src目錄下)。
這樣就能夠使用qwt畫圖了。
例:畫一個正弦波形圖。新建專案test,只改動了test.pro與mainwindow.cpp兩個檔案。
test.pro檔案。
#------------------------------------------------- # # Project created by QtCreator 2018-09-11T16:30:05 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = test TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui LIBS += -L"F:\MyDownloads\11\lib" -lqwtd INCLUDEPATH +=F:\MyDownloads\qwt-6.1.3\src
mainwindow.cpp檔案。
#include "mainwindow.h" #include "ui_mainwindow.h" #include <qwt_plot_curve.h> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->qwtPlot->setAxisScale(QwtPlot::xBottom, 0.0, 50.0); ui->qwtPlot->setAxisScale(QwtPlot::yLeft, -2.0, 2.0); QwtPlotCurve *curve = new QwtPlotCurve("y = sin(x)"); curve->setRenderHint(QwtPlotItem::RenderAntialiased); double x[50],y[50]; for(int i=0;i<50;i++) { x[i]=i; double a=i; y[i]=sin(a); } curve->setSamples(x, y, 50); curve->setCurveAttribute(QwtPlotCurve::Fitted, true);//=====使曲線光滑============ curve->setPen(QPen(Qt::red)); curve->attach(ui->qwtPlot); } MainWindow::~MainWindow() { delete ui; }