怎么把qwt添加到qt中使用

合集下载

qwt的用法

qwt的用法

qwt的用法Qwt是一个基于Qt的图形库,它提供了一系列的图形控件和绘图工具,可以用于绘制各种类型的图表和曲线。

Qwt的使用非常简单,只需要在Qt项目中添加Qwt库,然后就可以使用Qwt提供的各种控件和函数来绘制图表和曲线了。

Qwt的安装和配置Qwt的安装非常简单,只需要下载Qwt的源代码,然后编译安装即可。

Qwt的源代码可以从官方网站上下载,也可以从GitHub上下载。

Qwt的编译需要依赖Qt库,因此在编译之前需要先安装Qt 库。

Qwt的配置也非常简单,只需要在Qt项目中添加Qwt库即可。

在Qt Creator中,可以通过以下步骤来添加Qwt库:1. 在Qt Creator中打开项目,然后选择“项目”菜单,点击“添加库”按钮。

2. 在弹出的对话框中选择“外部库”,然后点击“下一步”。

3. 在“库文件”页面中,点击“添加”按钮,然后选择Qwt库的路径和名称。

4. 在“头文件”页面中,点击“添加”按钮,然后选择Qwt库的头文件路径。

5. 点击“完成”按钮,完成Qwt库的添加。

Qwt的控件和函数Qwt提供了一系列的控件和函数,可以用于绘制各种类型的图表和曲线。

以下是Qwt提供的一些常用控件和函数:1. QwtPlot控件:用于绘制二维图表和曲线。

2. QwtPlotCurve控件:用于绘制曲线。

3. QwtPlotGrid控件:用于绘制网格线。

4. QwtPlotMarker控件:用于绘制标记。

5. QwtLegend控件:用于显示图例。

6. QwtScaleWidget控件:用于显示坐标轴。

7. QwtScaleDraw函数:用于绘制坐标轴刻度。

8. QwtText函数:用于绘制文本。

9. QwtPlotZoomer控件:用于缩放图表。

10. QwtPlotPanner控件:用于平移图表。

Qwt的使用示例以下是一个简单的Qwt使用示例,用于绘制一条正弦曲线:```cpp#include <qwt_plot.h>#include <qwt_plot_curve.h>#include <qwt_legend.h>#include <qwt_legend_item.h>#include <qwt_scale_draw.h>#include <qwt_text.h>#include <qwt_plot_zoomer.h>#include <qwt_plot_panner.h>#include <qwt_plot_grid.h>#include <qwt_plot_marker.h>#include <qwt_symbol.h>#include <qwt_plot_renderer.h>#include <QApplication>#include <QVBoxLayout>#include <QHBoxLayout>#include <QPushButton>#include <cmath>int main(int argc, char *argv[]){QApplication app(argc, argv);// 创建QwtPlot控件QwtPlot *plot = new QwtPlot();plot->setTitle("Sin Curve");plot->setCanvasBackground(Qt::white);// 创建QwtPlotCurve控件QwtPlotCurve *curve = new QwtPlotCurve();curve->setTitle("Sin Curve");curve->setPen(QPen(Qt::red));curve->setRenderHint(QwtPlotItem::RenderAntialiased, true);// 创建数据const int N = 100;double x[N], y[N];for (int i = 0; i < N; i++) {x[i] = i * 0.1;y[i] = sin(x[i]);}// 设置数据curve->setSamples(x, y, N);// 添加QwtPlotCurve控件到QwtPlot控件中curve->attach(plot);// 创建QwtPlotGrid控件QwtPlotGrid *grid = new QwtPlotGrid();grid->setPen(QPen(Qt::gray, 0, Qt::DotLine));grid->attach(plot);// 创建QwtPlotMarker控件QwtPlotMarker *marker = new QwtPlotMarker();marker->setLabel("Max Value");marker->setLabelAlignment(Qt::AlignRight | Qt::AlignTop); marker->setLabelOrientation(Qt::Vertical);marker->setLineStyle(QwtPlotMarker::HLine);marker->setLinePen(QPen(Qt::green, 0, Qt::DashLine));marker->setYValue(1.0);marker->attach(plot);// 创建QwtLegend控件QwtLegend *legend = new QwtLegend();legend->setDefaultItemMode(QwtLegendData::Checkable); plot->insertLegend(legend, QwtPlot::RightLegend);// 创建QwtPlotZoomer控件QwtPlotZoomer *zoomer = new QwtPlotZoomer(plot->canvas());zoomer->setMousePattern(QwtEventPattern::MouseSelect2, Qt::RightButton);zoomer->setZoomBase(true);// 创建QwtPlotPanner控件QwtPlotPanner *panner = new QwtPlotPanner(plot->canvas());panner->setMouseButton(Qt::MidButton);// 创建QPushButton控件QPushButton *saveButton = new QPushButton("Save");saveButton->setFixedSize(100, 30);// 创建布局QVBoxLayout *vLayout = new QVBoxLayout();QHBoxLayout *hLayout = new QHBoxLayout();hLayout->addWidget(saveButton);hLayout->addStretch();vLayout->addWidget(plot);vLayout->addLayout(hLayout);// 创建窗口QWidget *window = new QWidget();window->setLayout(vLayout);window->setWindowTitle("Qwt Example");window->resize(800, 600);// 显示窗口window->show();// 运行应用程序return app.exec();}```以上代码中,我们首先创建了一个QwtPlot控件,然后创建了一个QwtPlotCurve控件,用于绘制正弦曲线。

Qtcreator安装第三方插件QWT

Qtcreator安装第三方插件QWT

在qwt的工程文件中加入:
LIBS += -L”c:/Qt/2010.05/qt/lib” -lqwt INCLUDEPATH += c:/Qt/2010.05/qt/include/qwt
11:重新打开qtcreator 就可以看见qdesigner里面有了QWT控件了。
注意版本(VS2013 x86本机,跟Qt的版本一样)
6:进入qwt-6.1.2目录下运行nmake,这里需要等一段时间(出现warning不要紧,不出现error就行)
7:运行nmake install
8:将qwt-6.1.2\lib下的qwtd.dll 、qwt.dll拷贝到Qt5.4.1\5.4\msvc2013\bin,将qwtd.lib、qwt.lib拷贝到Qt5.4.1\5.4\msvc2013\lib
4:解压后的qwt-6.1.2文件夹下,按Shift+右键“在此处打开命令窗口”,运行qmake(使用qmake -v查看是否是你需要的Qt版本)
5:打osoft Visual Studio 12.0\Common7\Tools\Shortcuts”命令工具,
9:再将qwt-6.1.2\designer\plugins\designer目录下的qwt_designer_plugin.dll和qwt_designer_plugin.lib拷贝到Qt5.4.1\5.4\msvc2013_opengl\plugins\designer目录下。
10:再将qwt-6.1.2\src目录下的所有文件拷贝到Qt5.4.1\5.4\msvc2013\include\Qwt中(新建Qwt文件夹)目录下。这样就完成了Qwt的编译和配置工作了。
安装QWT控件注意事项

QT QWT类使用方法总结

QT QWT类使用方法总结

QT QWT类使用方法总结p, li { white-space: pre-wrap; }鼠标滚轮放大缩小:1.QwtPlotMagnifier *PM = new QwtPlotMagnifier( ui->qwtPlot->canvas());鼠标左键拖动波形:1.QwtPlotPanner *PQ= new QwtPlotPanner( ui->qwtPlot->canvas());鼠标左键选择区域放大:(右键还原)1.QwtPlotZoomer* zoomer = new QwtPlotZoomer( ui->qwtPlot->canvas() );2.zoomer->setRubberBandPen( QColor( Qt::black ) );3.zoomer->setTrackerPen( QColor( Qt::black ) );4.zoomer->setMousePattern(QwtEventPattern::MouseSelect2,Qt::RightButton, Qt::ControlModifier );5.zoomer->setMousePattern(QwtEventPattern::MouseSelect3,Qt::RightButton );设置X轴下面标识:1.ui->qwtPlot->setAxisTitle(QwtPlot::xBottom,"x -->");设置X轴取值范围:1.ui->qwtPlot->setAxisScale(QwtPlot::xBottom, 0.0, 30.0);设置Y轴左边标识(竖着显示):1.ui->qwtPlot->setAxisTitle(QwtPlot::yLeft,"y -->");设置Y轴取值范围:1.ui->qwtPlot->setAxisScale(QwtPlot::yLeft,-1.0, 1.0);创建一个sin()曲线:1.QwtPlotCurve *cSin = new QwtPlotCurve("y = sin(x)");2.cSin->setRenderHint(QwtPlotItem::RenderAntialiased);3.cSin->setLegendAttribute(QwtPlotCurve::LegendShowLine,true);4.cSin->setPen(QPen(Qt::blue));5. cSin->attach(ui->qwtPlot);6.cSin->setData(new FunctionData(::sin));其中FunctionData为:class FunctionData:public QwtSyntheticPointData {public:FunctionData(double(* y)(double)):QwtSyntheticPointData(100),d_y(y){}virtualdouble y(double x)const {return d_y(x);}private:double(*d_y)(double);};1.class FunctionData:public QwtSyntheticPointData2.{3.public:4. FunctionData(double(*y)(double)):5. QwtSyntheticPointData(100),6. d_y(y)7. {8. }9. virtual double y(double x)const10. {11. return d_y(x);12. }13.private:14. double(*d_y)(double);15.};创建波形标识:(Y=0)QwtPlotMarker*mY=new QwtPlotMarker();mY->setLabel(QString:: fromLatin1("y=0"));mY->setLabelAlignment(Qt::AlignRight|Qt::AlignTop);mY->set LineStyle(QwtPlotMarker::HLine);mY->setYValue(0.0);mY->attach(ui->qwtPlot);1.QwtPlotMarker *mY = new QwtPlotMarker();2. mY->setLabel(QString::fromLatin1("y = 0"));3. mY->setLabelAlignment(Qt::AlignRight|Qt::AlignTop);4. mY->setLineStyle(QwtPlotMarker::HLine);5. mY->setYValue(0.0);6. mY->attach(ui->qwtPlot);创建波形标识:(X=PI/2) QwtPlotMarker*mX=new QwtPlotMarker();mX->setLabel(QSt ring::fromLatin1("x=PI/2"));mX->setLabelAlignment(Qt::AlignLeft|Qt::AlignBott om);mX->setLabelOrientation(Qt::Vertical);mX->setLineStyle(QwtPlotMarker::VLi ne);mX->setLinePen(QPen(Qt::black,1,Qt::DashDotDotLine));mX->setXValue(M_PI/ 2);mX->attach(ui->qwtPlot);1.QwtPlotMarker *mX = new QwtPlotMarker();2. mX->setLabel(QString::fromLatin1("x = PI/2"));3. mX->setLabelAlignment(Qt::AlignLeft | Qt::AlignBottom);4. mX->setLabelOrientation(Qt::Vertical);5. mX->setLineStyle(QwtPlotMarker::VLine);6. mX->setLinePen(QPen(Qt::black, 1, Qt::DashDotDotLine));7. mX->setXValue(M_PI/2);8. mX->attach(ui->qwtPlot);设置qwtPlot的画布:(圆角矩形) ui->qwtPlot->canvas()->setLineWidth(1);ui->qw tPlot->canvas()->setFrameStyle(QFrame::Box|QFrame::Plain);ui->qwtPlot->canvas ()->setBorderRadius(15);1.ui->qwtPlot->canvas()->setLineWidth( 1 );2. ui->qwtPlot->canvas()->setFrameStyle( QFrame::Box | QFrame::Plain );3. ui->qwtPlot->canvas()->setBorderRadius( 15 );设置qwtPlot的画布:(白色填充)QPalette canvasPalette(Qt::white);canvasPalet te.setColor(QPalette::Foreground,QColor(133,190,232));ui->qwtPlot->canvas()-> setPalette(canvasPalette);1.QPalette canvasPalette( Qt::white );2. canvasPalette.setColor( QPalette::Foreground, QColor( 133, 190, 232 ));3. ui->qwtPlot->canvas()->setPalette( canvasPalette );设置整个界面的颜色:QPalette pal=palette();const QColor buttonColor=pal.color(Q Palette::Button);QLinearGradient gradient(0,0,0,1);gradient.setCoordinateMode (QGradient::StretchToDeviceMode);gradient.setColorAt(0.0,Qt::white);gradient. setColorAt(0.7,buttonColor);gradient.setColorAt(1.0,buttonColor);pal.setBrush (QPalette::Window,gradient);setPalette(pal);1.QPalette pal = palette();2. const QColor buttonColor = pal.color( QPalette::Button );3. QLinearGradient gradient( 0, 0, 0, 1 );4. gradient.setCoordinateMode( QGradient::StretchToDeviceMode );5. gradient.setColorAt( 0.0, Qt::white );6. gradient.setColorAt( 0.7, buttonColor );7. gradient.setColorAt( 1.0, buttonColor );8. pal.setBrush( QPalette::Window, gradient );9. setPalette( pal );。

qwt的用法

qwt的用法

qwt的用法Qwt是一个C++图形库,用于在Qt应用程序中添加可视化元素。

它提供了基于Qt的绘图和布局机制,可以轻松地在应用程序中添加曲线绘图、仪表、图形控件和其它可视化元素。

以下是使用Qwt的步骤:1. 安装Qwt库:首先需要从官网下载Qwt库并按照它们的指示进行安装。

警告:Qwt只能与与您的Qt版本匹配的Qwt版本一起使用。

2. 将Qwt添加到Qt项目:将Qwt库添加到Qt项目中需要在.pro文件中添加相应的INCLUDEPATH和LIBS。

例如:INCLUDEPATH += /usr/include/qwtLIBS += -lqwt3. 创建一个QwtPlot对象:从QWidget派生一个QwtPlot对象,并使用addCurve()方法添加绘图曲线:QwtPlot *plot = new QwtPlot(this);plot->setTitle("My Plot");QwtPlotCurve *curve = new QwtPlotCurve("My Curve");curve->setData(xData, yData);curve->attach(plot);4. 设置绘图属性:可以通过QwtPlot类的方法来设置绘图属性,如设置坐标轴、网格线、标题等。

plot->setAxisTitle(QwtPlot::xBottom, "X Axis");plot->setAxisTitle(QwtPlot::yLeft, "Y Axis");plot->insertLegend(new QwtLegend(), QwtPlot::RightLegend);5. 显示绘图:将QwtPlot对象添加到应用程序中并显示:plot->resize(600, 400);plot->show();以上是Qwt的基本用法。

QWT的应用

QWT的应用
中原油田分公司物探研究院
一、QWT的概念
• QWT为程序提供图形用户接口 (GUI)组件和 一组实用类,基于二维方式窗体部件来显示数据。 • 数据源以数值、数组或一组浮点数等方式提供。
• 输出方式可以是: Curves(曲线),Slider(滚动条), Dials(拨号盘),Compasses(仪表盘) scales(进度尺), sliders(滑动块), thermometers(温度计), wheels(轮子), knobs(旋钮)等窗口元件。
中原油田分公司物探研究院
三、QWT的安装
Qwt5.2版在Qt4.3+minGW 环境下的安装与使用
qwt的安装很简单,可以参看它的install文档。
1.解开下载下来的zip文件,比如解开到d:\qt\qwt-5.1.1目录下,修改 目录下的qwtconfig.pri文件里面的安装路径,比如准备将它安装到 d:\qt\qwt目录下,则 win32 { INSTALLBASE = D:/qt/qwt-5.1.1 } 2.从qt的cmd环境进入qwt-5.1.1目录,运行 qmake qwt.pro make make install 3.把d:\qt\qwt\lib目录加入到系统PATH变量里面。
给6组数据赋值 X值的27点为步长节点 Y值是两个三角函数的积
中原油田分公司物探研究院
四、QWT的例子
QwtPlotCurve crv[6]; QwtSymbol sym; i = 0; sym.setStyle(QwtSymbol::Cross); sym.setPen(QColor(Qt::black)); sym.setSize(5); crv[i].setSymbol(sym); crv[i].setPen(QColor(Qt::darkGreen)); crv[i].setStyle(QwtPlotCurve::Lines); crv[i].setCurveAttribute(QwtPlotCurve::Fitted); i++; sym.setStyle(QwtSymbol::Ellipse); sym.setPen(QColor(Qt::blue)); sym.setBrush(QColor(Qt::yellow)); sym.setSize(5); crv[i].setSymbol(sym); crv[i].setPen(QColor(Qt::red)); crv[i].setStyle(QwtPlotCurve::Sticks); i++; crv[i].setPen(QColor(Qt::darkBlue)); crv[i].setStyle(QwtPlotCurve::Lines); i++;

QWT6.1.0详细傻瓜式安装教程

QWT6.1.0详细傻瓜式安装教程

Provided by Trust目录阅读前必看 (1)搭载环境 (3)《详细安装版》 (4)一、下载好全部软件资料: (4)二、安装Qt4.8.5库 (5)三、编译Qwt6.1.0源码 (9)四、给大家看些东西增加一下成就感吧 (14)五、编译QtCreator2.6.2源码(很关键的一步) (16)六、配置QtCreator环境 (21)七、建立工程调试 (26)《快速安装版》 (31)前言: (31)一、下载资料 (31)二、安装Qt4.8.5库 (32)三、复制粘贴工作 (32)四、配置QtCreator环境 (32)五、建立工程调试 (32)作者有话说: (32)阅读前必看1、什么是qwt ?答:如果还要我回答的话,你可以先把这个文档删了,然后再去了解一下。

2、为什么会写这个教程呢?答:因为安装qwt困扰了我一年了,记得第一次安装的时候只能打开它的example,,QtCreator(简称QTC)里面的Designer没有集成qwt的控件。

而我的真正目的是在QTC里面的Designer里面集成qwt的控件,除了这样,以后自己设计的控件也可以集成到里面。

自从上一次失败后,就没有再碰过了。

直到今天的机缘巧合,再次去研究了一下。

经过不断地查资料,不断地卸载安装,不断地重复试验,终于集成成功并且正常运行。

看到网上还有很多人在纠结这个问题,于是决定花时间写这个教程出来。

3、你完成这个集成任务花了多少时间?答:超过12个小时(包括写教程),因为我天资比较不好,接受事物能力比较差,所以花的时间比常人要多很多。

但是我愿意把这十多个小时的劳动成果跟大家分享一下,也希望能帮助更多的人少走歪路。

4、网上大把关于qwt安装教程,你写来干嘛?答:网上大多数教程都是比较零散的,如果你能找到一个比这个教程更加详细,更加容易懂,安装成功率更加高的教程,请你马上告诉我,我会把这个资源删除掉。

也许网上流传一个很经典的教程:《浅入深出在Win XP上傻瓜式编译安装Qwt》,这个教程是我第一次安装qwt时候就看的,写得挺好,但是按照他的方法,我还没有安装成功。

qwt的使用实例

qwt的使用实例

qwt的使⽤实例在.pro⽂件中加⼊INCLUDEPATH += /usr/include/qwtLIBS += -L"/usr/lib/" -lqwt头⽂件:1 #include <qapplication.h>2 #include <qwt_plot.h>3 #include <qwt_plot_curve.h>4 #include <qwt_plot_grid.h>5 #include <qwt_symbol.h>6 #include <qwt_legend.h>1int main( int argc, char **argv ) 2 { 3 QApplication a( argc, argv );1 QwtPlot plot;2 plot.setTitle( "Plot Demo" );3 plot.setCanvasBackground( Qt::white );4 plot.setAxisScale( QwtPlot::yLeft, 0.0, 10.0 );5 plot.insertLegend( new QwtLegend() );新建⼀个QwtPlot构件,即基本的绘图表格设置标题 "Plot Demo"设置背景⽩⾊ //canvas帆布void QwtPlot::setAxisScale ( int axisId, double min, double max, double stepSize = 0 )Disable autoscaling and specify a fixed scale for a selected axis.In updateAxes() the scale engine calculates a scale division from the specified parameters, that will be assigned to the scale widget. So updates of the scale widget usually happen delayed with the next replot.ParametersaxisId min max stepSizeAxis index Minimum of the scale Maximum of the scale Major step size.If step == 0 , the step size is calculated automatically using the maxMajorsetting.对坐标尺⼨的初始化,设置左边y 轴坐标的范围为0~10,坐标为⾮⾃适应.不会⾃动变化设置新的⼀个图例 //legend图例1 QwtPlotGrid *grid = new QwtPlotGrid();2 grid->attach( &plot );View Code在表盘中插⼊⽹格1 QwtPlotCurve *curve = new QwtPlotCurve();2 curve->setTitle( "Some Points" );3 curve->setPen( Qt::blue,4 ),4 curve->setRenderHint( QwtPlotItem::RenderAntialiased, true );新建⼀个曲线设置标题为"Some Points"设置画笔为蓝⾊,宽度4设置曲线抗锯齿1 QwtSymbol *symbol = new QwtSymbol( QwtSymbol::Ellipse,2 QBrush( Qt::yellow ), QPen( Qt::red, 2 ), QSize( 8, 8 ) );3 curve->setSymbol( symbol );设置符号格式,主要⽤来标记点1 QPolygonF points;2 points << QPointF( 0.0, 4.4 ) << QPointF( 1.0, 3.0 )3 << QPointF( 2.0, 4.5 ) << QPointF( 3.0, 6.8 )4 << QPointF( 4.0, 7.9 ) << QPointF( 5.0, 7.1 );5 curve->setSamples( points );新建⼀个QPolygonF类(Qt中⾃带点集f->float)其中void QwtPlotCurve::setSamples ( QwtSeriesData < QPointF > ∗ data )Assign a series of pointssetSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.1 curve->attach( &plot );23 plot.resize( 600, 400 );4 plot.show();56return a.exec();7 }⽣成并画图下⾯是源码⽅便⼤家复制#include <qapplication.h>#include <qwt_plot.h>#include <qwt_plot_curve.h>#include <qwt_plot_grid.h>#include <qwt_symbol.h>#include <qwt_legend.h>int main( int argc, char **argv ){QApplication a( argc, argv );QwtPlot plot;plot.setTitle( "Plot Demo" );plot.setCanvasBackground( Qt::green );plot.setAxisScale( QwtPlot::yLeft, 0.0, 10.0 );plot.insertLegend( new QwtLegend() );QwtPlotGrid *grid = new QwtPlotGrid();grid->attach( &plot );QwtPlotCurve *curve = new QwtPlotCurve();curve->setTitle( "Some Points" );curve->setPen( Qt::blue, 4 ),curve->setRenderHint( QwtPlotItem::RenderAntialiased, true );QwtSymbol *symbol = new QwtSymbol( QwtSymbol::Diamond,QBrush( Qt::black ), QPen( Qt::red, 2 ), QSize( 8, 8 ) );curve->setSymbol( symbol );QPolygonF points;points << QPointF( 0.0, 4.4 ) << QPointF( 1.0, 3.0 )<< QPointF( 2.0, 4.5 ) << QPointF( 3.0, 6.8 )<< QPointF( 4.0, 7.9 ) << QPointF( 5.0, 7.1 );curve->setSamples( points );curve->attach( &plot );plot.resize( 600, 400 );plot.show();return a.exec();}View Code。

Windows环境下QWT安装及配置

Windows环境下QWT安装及配置

Windows环境下QWT安装及配置**1.QWT下载路径qwt-6.1.2.zip:qwt相关源代码qwt-6.1.2.pdf:⽤户⼿冊,包含安装说明和类库说明qwt-6.1.2.qch:qwt帮助⽂档,能够添加到Qt Creator中.2.Qwt编译,主要有两种:a)採⽤命令⾏编译命令⾏编译这个就要依据⾃⼰安装的Qt版本号⽽定。

笔者安装的是MinGw版,所以下⾯命令⾏操作针对此版本号⽽⾔,其它版本号的操作能够參看qwt-6.1.2.pdf。

1.解压缩qwt-6.1.2.zip,通过cmd进⼊到qwt-6.1.2⽬录内,运⾏:qmake qwt.pro完毕后运⾏:mingw32-make最后运⾏:mingw32-make install然后就是等等等等……好不easy编译安装完后,可能会有⼈有疑问。

我们编译安装的qwt去哪了?这时你解压的⽬录qwt-6.1.2下有⼀个⽂件qwtconfig.pri。

能够打开看看:QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX]unix {QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION# QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-qt-$$QT_VERSION}win32 {QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION# QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION-qt-$$QT_VERSION}QWT_INSTALL_DOCS = $${QWT_INSTALL_PREFIX}/docQWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/includeQWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib⾮常好理解,这⾥就是指定了你安装的路径了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

标题:如何在QT中运行QWT
作者:胡振凯
日期:2014/8/16
修改ver.1 2014/8/23
运行环境win8.1专业版。

目的:QT中的GUI库不全,使用QWT库可以编程更容易。

从使用QT,到添加QWT库步骤:
1.Download Qt 5.3.1 for Windows 32-bit (MinGW 4.8.2, OpenGL, 735 MB) (Info) ,
并安装到D:\Qt中(默认为C盘,但我不喜欢什么都放C里)。

●下载过VS2013版本,运行nmake时出现错误,找不到stddef.h文
件。

2.修改环境变量的系统变量的path
●打开控制面板,系统,高级设置,环境变量,path
●添加D:\Qt\Qt5.3.1\5.3\mingw482_32\bin,(包含qmake.exe)
●添加D:\Qt\Qt5.3.1\Tools\mingw482_32\bin (包含mingw32-
make.exe)
3.Google搜索qwt,进入官网,下载并解压qwt-6.1.0。

(下载到哪都无所
谓)。

4.修改qwtconfig.pri文件。

修改安装后路径。

(我要把qwt安装到d:\Qwt-
6.1.0中,默认是c盘。


●win32 {QWT_INSTALL_PREFIX = d:/Qwt-$$QWT_VERSION}
5.启动qt命令行程序(类似win dos的那个东东),compile & install qwt文
件。

Qwt下载下来的都是源代码,要做成lib和dll文件,就需要编译和安装(拷贝)两个步骤。

●进入qwt-6.1.0路径,输入命令qmake。

在路径下生成makefile文件。

●输入命令mingw32-make,编译所有cpp文件。

●输入命令mingw32-make install,按照qwtconfig.pri的文件设置,输
出到安装(拷贝)目录d:/Qwt-6.1.0。

6.设置环境变量的系统变量,添加path,D:\Qwt-6.1.0\lib。

很多人把编译好
的文件拷贝到qt库文件夹下。

其实,只要设置系统变量的path,编译程序就会查找这个文件夹了,所以不用拷贝来拷贝去的。

7.在用户变量新建“QMAKEFEATURES”,添加路径D:\Qwt-6.1.0\features。


面包含pri文件,负责当执行QMAKE时能够连接到qwt。

8.拷贝D:\Qwt-6.1.0\plugins\designer里面的qwt_designer_plugin.dll到
D:\Qt\Qt5.3.1\5.3\mingw482_32\plugins\designer中。

这样启动qt designer 的时候,qwt的plugin就可以找到。

9.添加qwt帮助文档:
●将下载的qwt-6.1.0.qch文件拷贝到D:\Qt\Qt5.3.1\Docs\Qt-5.3
●或者,运行qt creator -> tools-> options -> help -> documentation -
>add,添加qwt-6.1.0.qch文件。

10.使用qwt时,要在.pro文件里添加CONFIG += qwt,否则会无法找到qwt
库。

通过以上步骤,可以有以下效果:
1.Qt可以使用qwt库。

2.Qt designer可以直接看到qwt的plugin,直接用鼠标来做GUI。

(注意是
Qt designer程序,不是Form editor。

直接双击目录行上的.ui文件,进入的是Form editor,所以看不到qwt。

右键.ui文件,打开方式选择Qt
design。


3.编码时,使用qwt库类或函数时,按F1会出现帮助资料。

左侧菜单栏的
帮助栏里也出现了qwt库帮助信息。

后记:
我曾经先安装过qt-5.1.0,在这个环境下,安装了qwt-6.1.0,后来卸载了qt-5.1.0,又安装了qt-5.3.1。

也拷贝了qwt的plugin到qt里。

但是qwt的plugin就不能在qt designer里显示了。

后来卸载了qwt,又安装一遍,成功了。

说明qwt安装后所生成的dll文件和qt版本是相关的,不能混用。

---- 2014/8/23。

胡振凯。

相关文档
最新文档