1. 程式人生 > >QT移植第三方QWT

QT移植第三方QWT

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.promainwindow.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;
}