QT开发——QWT简介

一、QWT简介

QWT,即Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图,是为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。QWT工具库是基于Qt开发的,继承了Qt的跨平台特性。
×××地址:https://sourceforge.net/projects/qwt/files/qwt/
QT开发(十七)——QWT简介

二、QWT在Linux环境的安装

1、相关环境

Linux发行版:RHEL7.3
Qt版本:Qt 4.8.6
QWT版本:QWT6.1.3

2、QWT源码目录

designer目录:QWT插件的源码
doc目录:帮助文档
example目录:QWT简单例子的源码
src目录:QWT源码
textengines目录:数学指标语言的文本驱动引擎代码
playground目录:QWT开发中探索、测试新特性的模块
qwt.pro:工程文件
qwtconfig.pri:配置文件

3、安装目录

QWT安装后的目录如下:
doc:包括html和articles两个目录,存放qwt的说明文档,其中html目录就是qwt官方网页的本地版本
features: qwt的安装配置文件
include:所有qwt控件的头文件都在这里
lib:核心部分,由于默认配置文件是将qwt库编译成动态库,因此本目录下是4个so文件(实际上只有一个库文件,另外三个是软连接)
plugins: Qt Designer的插件,用于在Designer或Creator设计器中将qwt显示在左侧的控件列表中

4、配置

Qwtconfig.pri配置文件中配置:

#版本配置
QWT_VER_MAJ      = 6
QWT_VER_MIN      = 1
QWT_VER_PAT      = 3
QWT_VERSION      = $${QWT_VER_MAJ}.$${QWT_VER_MIN}.$${QWT_VER_PAT}

# Install paths  安装路径配置
QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX]
#Linux系统安装路径
unix {
    QWT_INSTALL_PREFIX    = /usr/local/Trolltech/qwt-$$QWT_VERSION
    # QWT_INSTALL_PREFIX = /usr/local/Trolltech/qwt-$$QWT_VERSION-qt-$$QT_VERSION
}
#Windows系统安装路径
win32 {
    QWT_INSTALL_PREFIX    = C:/Qwt-$$QWT_VERSION
    # QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION-qt-$$QT_VERSION
}
#doc、include、lib目录安装路径
QWT_INSTALL_DOCS      = $${QWT_INSTALL_PREFIX}/doc
QWT_INSTALL_HEADERS   = $${QWT_INSTALL_PREFIX}/include
QWT_INSTALL_LIBS      = $${QWT_INSTALL_PREFIX}/lib

#designer插件安装路径
QWT_INSTALL_PLUGINS   = $${QWT_INSTALL_PREFIX}/plugins/designer

#features安装路径
QWT_INSTALL_FEATURES  = $${QWT_INSTALL_PREFIX}/features
# QWT_INSTALL_FEATURES  = $$[QT_INSTALL_PREFIX]/features

#编译链接成动态链接库或是静态链接库,如果QwtDll有效,为动态链接库
QWT_CONFIG           += QwtDll

QWT_CONFIG       += QwtPlot
QWT_CONFIG     += QwtWidgets
QWT_CONFIG     += QwtSvg
#依赖于QtOpenGL
QWT_CONFIG     += QwtOpenGL
#是否支持QwtMathMl, 是Qwt统计数据的数学库支持
#QWT_CONFIG     += QwtMathML
QWT_CONFIG     += QwtDesigner

win32 {
    QWT_CONFIG     += QwtDesignerSelfContained
}

#是否编译示例程序,默认不编译
#QWT_CONFIG     += QwtExamples
#playground模块,默认不编译
#QWT_CONFIG     += QwtPlayground

macx:!static:CONFIG(qt_framework, qt_framework|qt_no_framework) {

    QWT_CONFIG += QwtFramework
}  

unix {
    #QWT_CONFIG     += QwtPkgConfig
}

5、生成Makefile文件

命令行执行:
[user@localhost qwt-6.1.3]$qmake qwt.pro
报错信息如下:
[user@localhost qwt-6.1.3]$ qmake qwt.pro
QMAKESPEC has not been set, so configuration cannot be deduced.
Error processing project file: qwt.pro
解决方案:
export QMAKESPEC=/usr/local/Trolltech/Qt-4.8.6/mkspecs/linux-g++
再次执行:
[user@localhost qwt-6.1.3]$qmake qwt.pro

6、编译、安装

编译:make
安装:sudo make install

7、QWT控件插件的安装

qwt-6.1.3/designer/plugins/designer/libqwt_designer_plugin.so是QWT控件的动态链接库。需要把libqwt_designer_plugin.so导入QtCreater或者Designer的控件目录就可以在QtCreater和Designer中使用QWT的控件。
拷贝libqwt_designer_plugin.so到QtCreator控件目录:
sudo cp libqwt_designer_plugin.so /usr/local/Trolltech/qtcreator-2.8.1/bin/plugins/designer/
拷贝libqwt_designer_plugin.so到Designer控件目录:
sudo cp libqwt_designer_plugin.so /usr/local/Trolltech/Qt-4.8.6/plugins/designer/

8、结果查看

使用QtCreator新建一个工程,打开Designer模式,结果如下:
QT开发(十七)——QWT简介
安装成功。