QWT移植
一、下载QWT官方第三方库。链接:https://sourceforge.net/projects/qwt/files/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;
}