zoukankan      html  css  js  c++  java
  • 【Qwt】详解Qwt安装、使用、示例(2D画图开发库:曲线、滚动条、仪表盘)

                                                   详解 Qwt 安装、使用、示例

                                                                             ----2D画图Qt开发库:曲线、滚动条、圆盘、仪表盘

                              原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。

    1.What is Qwt:

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

        ------------------------------------------------------------------------------------------------------------------

    2.有图有真相:

       这是Qwt自带的examples中的几个例子。可见其对曲线、滚动条、柱状图、仪表盘、圆盘有着良好的支持。

        -----------------------------------------------------------------------------------------------------------------

    3.基类:

      以上图形都是对Qwt基类进行的组合拓展,Qwt的基类有以下几个

    >QwtAbstractScale: 包含刻度尺的所有类的抽象基类;

    QwtAbstractScaleDraw:绘制刻度尺的抽象基类

    QwtAbstractSlider:滑块部件的抽象基类;

    QwtAnalogClock:时钟的模拟类;

    QwtArrayData:包含2个QwtArray<double>实例的数据类;

    QwtArrowButton:箭头按钮;Q

    wtClipper:剪贴板类;

    QwtColorMap:提供数值到颜色的映射功能

    QwtCompass:指南针部件

    QwtCompassMagnetNeedle:指南针部件的磁针

    QwtCompassRose:罗盘部件的抽象基类

    QwtCompassWindArrow:风向标的指示器;

        --------------------------------------------------------------------------------------------------------------------

    4. 代码获取:(不会用SVN的就下载我的备用资源好了)

    其sourceforge官方主页是 http://qwt.sourceforge.net/ (但愿你要使用时此网站没被封,若打不开请点击下载备用链接的资源)
    官方不提供二进制包的下载,源码包是用版本控制软件下载的。
    最新稳定版下载: svn co https://qwt.svn.sourceforge.net/svnroot/qwt/branches/qwt-6.0
    备用链接:http://download.csdn.net/detail/ymc0329/4480903
    最新构建版下载: svn co https://qwt.svn.sourceforge.net/svnroot/qwt/trunk/qwt
    备用链接:http://download.csdn.net/detail/ymc0329/4480937

    -----------------------------------------------------------------------------------------------------------------

    5.文件说明:

    1.src文件夹          :核心代码,其有三个工程:qwt核心核心实现,qwt基类实现,qwt文档实现

    2.designer文件夹:用于生成Qt Designer插件,可以在Qt Designer中直接拖拽生成,关于神马事Qt Designer插件,将在其他文章中介绍。

    3.doc文件夹          :doc文件,说明文档,不会用的Pass过吧。

    4.examples文件夹:示例文件,就是开始那些图片的来源,PS:这些工程的生成需要src或designer下工程生成的qwt.lib/qwt.dll

    其他文件就当不认识好了

        ------------------------------------------------------------------------------------------------------------------
    6.安装:

        关于使用有两种情况,一种是没有安装Qt的用户,只是想生成Qt Designer插件,那你需要安装一下。另一种是Qt开发者,一下基本不用说明就是对源码进行使用。下面做详述:

        6.1没安装Qt的用户,只用于Qt Designer使用

     1.选择安装目录

            ---可省略,默认安装在 /usr/local/qwt-$$QWT_VERSION-svn(unix用户) 或 C:/Qwt-$$QWT_VERSION-svn (Windows用户)

    若想修改进入qwt-6.0目录,修改目录下的qwtconfig.pri文件

    unix { QWT_INSTALL_PREFIX    = /usr/local/qwt-$$QWT_VERSION-svn }
    win32 { QWT_INSTALL_PREFIX    = C:/Qwt-$$QWT_VERSION-svn }

    2.从qt的cmd环境进入qwt-5.0.2目录,运行 
    qmake qwt.pro 
    make 
    make install 

    3.把d:qtqwtlib目录加入到系统PATH变量里面。 

    到这里就已经安装完成了,如果完全成功的话,你可以在qdesigner里面看到有qwt的控件在里面了

      -------------------------------------------------------------------------------------------------

        6.2对于Qt开发者

    1.编译designer文件夹下的程序生成qwtplugin.dll 和qwt.dll 然后将qwtplugin.lib、qwtplugin.dll、qwt.lib、qwt.dll拷贝到Qt安装目录下的pluginsdesigner文件夹下,如:D:Qt4.7.4pluginsdesigner

    这样你可以在qdesigner里面看到有qwt的控件在里面了,此外,在你用的其他程序用到里面的基类时,把qwt.lib包含进去就可以了。

        -------------------------------------------------------------------------------------------------------------------
    7.使用:

    对于使用就是对有两种情况,一是对基类的使用,你可以加载qwt.lib后,对基类进行调用,具体代码参照examples目录下的相关例子,例子很全,是学习的好东东,要善于利用。二是对examples下的例子的使用,直接拷贝examples下的相关代码到你的程序中使用,记得lib文件的添加。

    8.资源:

    1.Qwt主页: http://qwt.sourceforge.net/ 

    2.曾对我有帮助的文章

    http://hi.baidu.com/waynebuaa/item/1a6ea845afe4d832fb896054

    http://www.qtcn.org/bbs/read.php?tid=16740

    http://www.cppblog.com/lai3d/archive/2007/12/23/39312.html





    如果,感到此时的自己很辛苦,那告诉自己:容易走的都是下坡路。坚持住,因为你正在走上坡路,走过去,你就一定会有进步。如果,你正在埋怨命运不眷顾,开导自己:命,是失败者的借口;运,是成功者的谦词。命运从来都是掌握在自己的手中,埋怨,只是一种懦弱的表现;努力,才是人生的态度。
  • 相关阅读:
    numpy之填充为nan的数据为该列平均值
    使用Apache HttpClient 4.5设置超时时间
    使用Apache HttpClient 4.x进行异常重试
    使用Apache HttpClient 4.x发送Json数据
    用Maven创建动态Web工程
    Eclipse查看.properties文件中文乱码
    Oracle数据库常用命令(持续更新)
    Spring@PostConstruct注解和构造方法的调用顺序
    在Java中使用Maven配置的版本信息
    Maven profile动态选择配置条件
  • 原文地址:https://www.cnblogs.com/superit/p/3831314.html
Copyright © 2011-2022 走看看