【Qt编程】QWT在QtCreator中的安装与使用

        由于导师项目的需要,需要画图,二维+三维。三维图我用的是Qt+opengl,二维图我决定使用qwt工具库来加快我的项目进展,毕竟还有期末考试。关于Qt+opengl的使用有时间的话以后再介绍。

        首先我们说说QWT是什么?下面是百度百科的介绍:

        QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供,
输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。该工具库基于Qt开发,所以也继承了Qt的跨平台特性。

安装环境:

      win7系统

      Qt5.3.0  qt-opensource-windows-x86-msvc2010_opengl-5.3.0

      qwt6.1(已编译的文件) 

      qwt 官方文档 

编译:

        如果下载上述的已编译文件qwt6.1,则不需要这一步。我曾经遇到的问题:我下载了qwt源码,然后用QtCreator打开项目,进行编译,经过十分钟左右编译完成,然后将生成的相关文件放入指定位置(这一步在下面有介绍),然后发现,qwt插件不能用。有的人可能会出现,在Qt Designer中可以显示qwt插件,但是在QtCreator中无法显示,这是因为使用不同编译器编译的结果。所以说,最好使用vs编译器,而不是使用mingw编译器(尽管mingw在语言支持上更好用)!为了避免上面可能出现的问题,你最好还是下载上面我给出的已经编译好的qwt文件。

配置:

       下载或则编译好qwt文件后,需要做的工作如下(以我给出的编译好的qwt文件为例,我的QtCreator的安装目录为:D:\Qt\Qt5.3.0\5.3\msvc2010_opengl):

具体目录如下图:

1、qwt文件目录:

2、Qt安装目录:

操作如下:

1、将D:\QWT\lib中qwt.dll、qwtd.dll文件拷贝到D:\Qt\Qt5.3.0\5.3\msvc2010_opengl\bin文件夹中。

2、将D:\QWT\lib中qwt.lib、qwt.lib文件拷贝到D:\Qt\Qt5.3.0\5.3\msvc2010_opengl\lib文件夹中。

3、将D:\QWT\designer\plugins\designer中的qwt_designer_plugin.dll和qwt_designer_plugin.lib拷贝到D:\Qt\Qt5.3.0\Tools\QtCreator\bin\plugins\designer目录下。

4、将D:\QWT\src中的所有.h文件都放入一个新建名为QWT的文件夹中,然后将这个文件夹拷贝到D:\Qt\Qt5.3.0\5.3\msvc2010_opengl\include

测试:

打开QtCreator,建一个qt应用程序,打开.ui文件,你就会发现qwt控件:

这时,你向窗口中拖入两个qwt控件,如上图右边所示,然后运行程序,你就发现错误,这时你需要在.pro文件中添加如下代码:

INCLUDEPATH +=D:\Qt\Qt5.3.0\5.3\msvc2010_opengl\include\QWT
LIBS+= -lqwtd

注意上面的路径与你自己的安装目录有关!这里使用的是debug方式,如果是release方式,将lqwtd改为lqwt即可。BTW,一般来说名称后面带d的都是与debug有关的,没带d的与release有关,这些文件在qt的动态链接库(.dll)文件中非常常见。

这时再运行程序就会得到正确结果:

原文:http://blog.csdn.net/tengweitw/article/details/41775545

作者:nineheadedbird

时间: 2024-07-28 23:13:43

【Qt编程】QWT在QtCreator中的安装与使用的相关文章

编程-在python2.x中怎么安装 request模块

问题描述 在python2.x中怎么安装 request模块 看到有的地方说 request 是3x才有的,但是也看到过2x中安装的.想求教是怎么安装成功的 解决方案 python3.x安装setuptool出现openkey() argument 2 must...解决方法Python-安装httplib2模块python的logging模块2 解决方案二: 倒腾了一个晚上--发现原来装的Python2.7就是有问题的,重新下一遍就好了- 解决方案三: 还是准备转python3吧,都这么长时间

【Qt编程】基于QWT的曲线绘制及图例显示操作

     在<QWT在QtCreator中的安装与使用>一文中,我们完成了QWT的安装,这篇文章我们讲讲基础曲线的绘制功能.      首先,我们新建一个Qt应用程序,然后一路默认即可.这时,你会发现总共有:mainwindow.h,mainwindow.cpp,main.cpp,mainwindow.ui四个文件.      然后,选中项目,添加新文件,添加一个c++类,我们假设命名为PlotLines,基类选择QwtPlot,选择继承自QWidget.      接着,在pro文件中添加

软件更新 编程-如何编程实现检测电脑中安装软件是否有更新?

问题描述 如何编程实现检测电脑中安装软件是否有更新? 就是那些软件管家类的软件是如何实现这一操作的?请好心人指教?谢谢. 解决方案 常用软件的厂商会主动联系软件管家类软件,更新自己.然后他们就推送出来. 解决方案二: 综合几个原因吧: 1.和软件厂商合作 2.维护一个服务器数据库,搜集各大软件资源,有更新时更新数据库里的版本号,并提供下载 3.通过开放平台吸引开发者 解决方案三: 1.定期收集软件版本 2.获得当前软件版本 3.连接软件官网下载更新

qt-Linux下QT编程思想,工作流程

问题描述 Linux下QT编程思想,工作流程 大家好!刚入门linux,想问一下大家QT在linux中编程的大概思想是什么啊?或者说是工作流程?比如说是如何判断屏幕动作发生的或者动作发生是如何处理的?希望大家赐教 解决方案 学过qt吗,用一个星期学下,你就发现qt其实很简单,我这里有全套qt教程,可以给你,QQ1119331234需要加我 解决方案二: http://www.pudn.com/downloads562/ebook/detail2314408.html 解决方案三: QT在嵌入式L

Qt编程,Sybase数据库,编码问题!!!

问题描述 Qt编程,Sybase数据库,编码问题!!! Qt中...读取数据库数据到应用程序出现乱码,是Sybase数据库,用ODBC连接,Sybase用的字符编码是iso_1,ODBC字符编码格式不知道,求对编码格式精通的大神大牛解答,万分感谢,图片已经上传! 解决方案 Qt数据库编程Qt之数据库编程 解决方案二: http://blog.csdn.net/andkylee/article/details/5393122

在NT系列OS中模块化安装 PHP

在各种网络编程语言中.PHP以其简单易学.功能强大吸引了众多编程爱好者.然而PHP的安装却成为许多初学者面前的拦路虎.下面我来给大家较为详细的介绍一种在微软Windows 2000/XP平台下以模块化方式安装PHP及常用模块的方法. 一.基础知识 在介绍前,请各位先了解一些PHP安装的基础知识.PHP有 CGI 和模块化两种不同的安装方式.用 CGI 方式安装的PHP,在每次解析PHP脚本时,服务器都会产生一个临时的PHP解析器(进程)来解析PHP脚本.当访问量大时,会使 Server性能降低.

qt编程 如何给自定义item控件进行布局,是继承与graphicsitem的。

问题描述 qt编程 如何给自定义item控件进行布局,是继承与graphicsitem的. qt编程 如何给自定义item控件进行布局,这个控件是继承自graphicsitem中的 麻烦告知下 谢谢了 解决方案 http://blog.csdn.net/foruok/article/details/33738227

《Python数据可视化编程实战》—— 1.6 安装图像处理工具:Python图像库(PIL)

1.6 安装图像处理工具:Python图像库(PIL) Python数据可视化编程实战Python图像库(PIL)为Python提供了图像处理能力.PIL支持的文件格式相当广泛,在图像处理领域提供了相当强大的功能. 快速数据访问.点运算(point operations).滤波(filtering).图像缩放.旋转.任意仿射转换(arbitrary affine transforms)是PIL中一些应用非常广泛的特性.例如,图像的统计数据即可通过histogram方法获得. PIL同样可以应用在

《Python数据可视化编程实战》—— 1.7 安装requests模块

1.7 安装requests模块 Python数据可视化编程实战我们需要的大部分数据都可以通过HTTP或类似协议获得,因此我们需要一些工具来实现数据访问.Python的requests库能让这部分工作变得轻松起来. 虽然Python提供的urllib2模块提供了访问远程资源的能力以及对HTTP协议的支持,但使用该模块完成基础任务的工作量还是很大的. Request模块提供新的API,减轻了使用web服务的痛苦,使其变得更直接.Requests封装了很多HTTP 1.1的内容,仅在需要实现非默认行