Qt之Qwt学习之安装
QWT+qtcreator 编译、安装使用
目录:一、Qwt简介
二、QWT编译
一、Qwt简介
QWT:Qt Widgets for Technical Applications,是开源的2D绘图库。
二、QWT编译
2.1 环境 WIN7+Qt5.1.0
- QWT官方网址:http://qwt.sourceforge.net/ //说明文档源码中包含
- 使用SVN客户端下载源码
- designer目录:存放QWT插件的源码
- examples目录:存放QWT的示例(源码、可执行程序)
- src目录:存放QWT的源码
- textengines目录:存放数学指标语言的文本驱动引擎代码等
2.2 编译
官网上有说明。
方式一、双击qwt.pro(使用Qt Creator打开),进行编译(qmake->build),等待了很长时间都没编译完成,于是放弃这种方式。
方 式二、使用qmake与mingw32-make install (msvc使用nmake)
详细步骤:在WIN终端中:> G:
> cd G:\SoloSten\work\qwt\qwt-6.1.2\qwt-6.1.2
> qmake
> mingw32-make install //将会把.dll .lib和.h等文件提取出来,默认C盘
编译完成后将会在lib下生成qwt.dll(release调用)、qwtd.dll(d:debug调用)和lib,同时会生成qt creator使用的插件qwt_designer_plugin.dll、libqwt_designer_plugin.a(只能用于Designer,而不能用于qtcreator集成中的designer,原因请看2.3)。
- 将C:\Qwt-6.1.2\lib\qwtd.dll、qwt.dll拷贝到F:/software/Qt5_1/5.1.1/mingw48_32/bin下,将C:\Qwt-6.1.2\lib\qwtd.lib、qwt.lib拷贝F:/software/Qt5_1/5.1.1/mingw48_32/lib下(F:/software/Qt5_1/5.1.1/mingw48_32为QT安装目录)。
将C:\Qwt-6.1.2\plugins\qwt_designer_plugin.dll拷贝到F:/software/Qt5_1/5.1.1/mingw48_32\bin\plugins\designer目录下
- 将C:\Qwt-6.1.2\include目录下的所有.h和C:\features\qwt.prf、qwtconfig.pri、qwtfunctions.priw分别放入一个空文件夹Qwt和Qwt\features中,再将该Qwt拷贝到F:\software\Qt5_1\5.1.1\mingw48_32\include\目录下。
- 配制完后,结果图如下:
2.3 Qt Designer能使用插件,但是Qt Creator里Designer无该插件
原因:因为Qt官方编译的Qt Creator是用VC编译的,而你的插件是用MinGW编译,两者的dll并不能通用。
解决方式一:mingw编译qt官网下载的qt creator的源码,保用编译完成qtcreator就可以解决dll只能用于Designer,而不能用于qtcreator集成中的designer问题。
解决方式二:直接保用Qt Designer来设置窗口控件,不使用qtCreator 里Designer(程序也能显示自定插件,但是qtCreator 里Designer是显示不了的)。
2.4 解决Qt Qwt编译成功之后运行的时候,程序却异常退出,提示信息:QWidget: Must construct a QApplication before a QPaintDevice
原因:是因为debug编译模式使用了release库文件或者是release编译模式使用debug库文件;即Debug/Release的Dll混到一起。
比如:qwtd.dll是debug时调用,qwt.dll是release时调用。(区别在于一个有d,一个无)
解决:方式一、打开.pro,未修改:LIBS += -L"F:/software/Qt5_1/5.1.1/mingw48_32/lib" -lqwt
修改后的:LIBS += -L"F:/software/Qt5_1/5.1.1/mingw48_32/lib" -lqwtd #qwtd是debug,qwt是release
方法二、打开.pro, 添加 CONFIG += release #即指定的LIBS与之相匹配
三、Qt Qwt案例
在pro中加入:
LIBS += -L"F:/software/Qt5_1/5.1.1/mingw48_32/lib" -lqwtd
INCLUDEPATH += F:/software/Qt5_1/5.1.1/mingw48_32/include/QWT
include (F:/software/Qt5_1/5.1.1/mingw48_32/include/Qwt/features/qwt.prf)
注意:这.ui是用Designer添加的控件,而不是qt creator中的Designer中添加。
Qt之Qwt学习之安装的更多相关文章
- (转)Qt Model/View 学习笔记 (七)——Delegate类
Qt Model/View 学习笔记 (七) Delegate 类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- Qt 智能指针学习(7种指针)
Qt 智能指针学习 转载自:http://blog.csdn.net/dbzhang800/article/details/6403285 从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- Hadoop学习------Hadoop安装方式之(二):伪分布部署
要想发挥Hadoop分布式.并行处理的优势,还须以分布式模式来部署运行Hadoop.单机模式是指Hadoop在单个节点上以单个进程的方式运行,伪分布模式是指在单个节点上运行NameNode.DataN ...
- 2018-05-11-机器学习环境安装-I7-GTX960M-UBUNTU1804-CUDA90-CUDNN712-TF180-KERAS-GYM-ATARI-BOX2D
layout: post title: 2018-05-11-机器学习环境安装-I7-GTX960M-UBUNTU1804-CUDA90-CUDNN712-TF180-KERAS-GYM-ATARI- ...
- QT在windows下的安装与配置
先了解Qt: Qt一直以来,分为商业.开源两个版本,商业版本为用户提供了二级制的动态库,直接安装既可以使用,但是需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才 ...
- 从零开始学习CocoaPods安装和使用
从零开始学习CocoaPods安装和使用 转载: Code4App原创:http://code4app.com/article/cocoapods-install-usage http://m.i ...
- Qt快速入门学习笔记(基础篇)
本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&am ...
随机推荐
- Kinect外包团队(长年承接微软Kinect体感项目外包,有大型Kinect案例)
承接Kinect体感企业项目.游戏项目外包 北京公司.专业团队,成员为专业WPF产品公司一线开发人员,有大型产品开发经验: 提供优质的售后服务,保证产品质量,轻量级产品可以提供规范清晰的源代码,有业务 ...
- ZigBee 安全探究
ZigBee 安全探究 0x02 ZigBee安全机制 (注:对于本节内容,可能在新版ZigBee协议标准中会有所变化,请以新版为准.) ZigBee主要提供有三个等级的安全模式: 1. 非安全模式: ...
- 数位dp总结
由简单到稍微难点. 从网上搜了10到数位dp的题目,有几道还是很难想到的,前几道基本都是模板题,供入门用. 点开即可看题解. hdu3555 Bomb hdu3652 B-number hdu2089 ...
- android 单元测试
android studio 2.0创建一个空android moudle后, 会出现两个test目录,其中一个是Instrument Test, 另一个则是Unit Test Unit Test 和 ...
- 自己建二维obj
经常用到啊 在项目流程管理里面用到
- python调用zabbix接口实现Action配置
要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...
- jQuery 日常工作集中问题
1.siblings()方法:获得匹配元素中每个元素的同胞(除了自己外的其他同级元素) 导航栏选择效果 点击“华东地区”,其他同级元素灰色背景以及下拉菜单消失,当前元素有灰色背景以及下拉菜单.再次点击 ...
- tab,tabCon里放很多div,点击左右滑动一个。可根据初始化清除空的tabCon。
效果如上,左右箭头点击,相应左右滑动一个功能菜单的长度,点击BTN2时若所有功能菜单没溢出就不显示箭头不允许左右滑动. 可根据初始化功能菜单的个数,判断.若某个tabCon没有内容,则删除相应tabC ...
- 使用script创建标签添加属性值和添加样式
<mark>使用script创建标签和给标签属性值以及样式的方法</mark><script> window.onload=function(){ var btn= ...
- 20145236 GDB调试汇编堆栈过程分析
GDB调试汇编堆栈过程分析 首先需要输入sudo apt-get install libc6-dev-i386安装一个库才能产生汇编代码,然后输入gcc - g example.c -o exampl ...