由于导师项目的需要,需要画图,二维+三维。三维图我用的是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源码,然后用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文件中添加如下代码:
1 | INCLUDEPATH +=D:\Qt\Qt5.3.0\5.3\msvc2010_opengl\include\QWT |
注意上面的路径与你自己的安装目录有关!这里使用的是debug方式,如果是release方式,将lqwtd改为lqwt即可。BTW,一般来说名称后面带d的都是与debug有关的,没带d的与release有关,这些文件在qt的动态链接库(.dll)文件中非常常见。
这时再运行程序就会得到正确结果: