1. 程式人生 > >paper 139:qt超強繪圖控件qwt - 安裝及配置

paper 139:qt超強繪圖控件qwt - 安裝及配置

版本 creat 我們 ubuntu下 設置 1.0 cat 靈活 opengl

qwt是一個基於LGPL版權協議的開源項目, 可生成各種統計圖。它為具有技術專業背景的程序提供GUI組件和一組實用類,其目標是以基於2D方式的窗體部件來顯示數據, 數據源以數值,數組或一組浮點數等方式提供, 輸出方式可以是Curves(曲線),Slider(滾動條),Dials(圓盤),Compasses(儀表盤)等等,目前已經應用到許多工業領域,同時qwt也致力於3d的開發。但許多時候,qwt的安裝配置難到了許多人,我曾經也在這裏原地踏步很久,為了給大家開發方便,把我的安裝經驗分享給大家,避免少走點彎路。

1.前言

qwt有多強大,可以看看官網的截圖:

曲線類截圖:http://qwt.sourceforge.net/curvescreenshots.html

散點圖:http://qwt.sourceforge.net/scatterscreenshots.html

頻譜及外形輪廓圖:http://qwt.sourceforge.net/spectrogramscreenshots.html

工業控件類:http://qwt.sourceforge.net/controlscreenshots.html

其功能遠不止展示的這些,還包括移動圖線上的點修改圖線,在畫布上任意作圖,另外,qwt控件最大的優點是它的靈活性,但這個靈活性也導致它偶爾會很麻煩

MFC
  • VS2010 使用TeeChart繪圖控件 - 之一 - 控件和類的導入
  • VS2010 使用TeeChart繪圖控件 - 之二 - 繪制圖形(折線圖,柱狀圖)
  • TeeChart繪圖控件 - 之三 - 提高繪圖的效率
  • MFC下好用的高速繪圖控件-(Hight-Speed Charting)
  • 繪制動態曲線

Qt

  • qt超強精美繪圖控件 - QCustomPlot一覽
  • qt超強繪圖控件qwt - 安裝及配置
  • QtChart Qt官方繪圖控件

2.下載最新的qwt

如果你是使用qt5,那麽需要最新版本的qwt控件,下載地址(已更新):http://sourceforge.net/projects/qwt/

技術分享

windows下編程下載zip,ubuntu下載bz2的

還有個pdf說明文檔,下不下都無所謂,因為安裝包裏面已經有文檔了

下面說說安裝的問題

3.安裝

把下載的文件解壓縮放到一個固定目錄裏 我在qt安裝目錄下面新建文件夾qtctrl,把所有第三方控件都放置在這裏的 解壓完的文件如下圖所示 技術分享 下面對它進行編譯

3.1 編譯控件

許多人在這裏止步,在網上看到許多復雜的教程,又要寫命令行又要設置啥啥啥的,其實很簡單,直接雙擊qwt.pro這個文件,用qt Creator打開(建議用qt Creator打開) 技術分享

點編譯(先在debug下和release模式下編譯都一樣),就開始編譯了,你可以去上個廁所,喝杯茶,上上網

編譯完會有個錯誤提示

技術分享

這個正常,不用理他,只要編譯輸出那裏沒有錯誤提示就行

好了,這就ok了,復雜的編譯過程就是點幾個鼠標而已

編譯完後會在原來的lib文件夾下生成dll和lib,同時會在目錄外生成qt creator用的插件dll

技術分享

我們用到的是qwt.dll,qwt.lib,qwtd.dll,qwtd.lib。前者對應release版本,後者對應debug版本,其他文件可以刪除

在build-qwt-Desktop_Qt_5_1_1_MSVC201x_32bit-Release目錄下的designer目錄下的plugins目錄下的designer目錄下(@_@,囧rz)你會發現qwt_designer_plugin.dll和qwt_designer_plugin.lib

技術分享

這些就是配置qwt的必要文件

3.2配置qwt

3.2.1 集成進Qt Designer

找到qt安裝目錄 技術分享 目錄下的tools文件夾是qt creator的安裝位置,裏面就是QtCreator,找到QtCreator\bin\plugins\designer\文件夾下,把編譯好的qwt_designer_plugin.dll放入。打開qtcreator,就能看的qwt控件了。 技術分享 拖放幾個控件試著運行,這時軟件肯定是編譯不過的 技術分享 由於頭文件dllqt creator都沒有找到,所以肯定是編譯不過的,現在又兩種方法

3.2.2 集成Qt Creator

方法1:(建議使用)

需要用到qwt的項目,打開它的pro文件 加入如下語句: 其中根據每個人的文件位置不一樣,只需要改動第一個語句就可以,就是定位到qwt的安裝位置的語句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#qwt設置
QWT_ROOT = d:/Qt/qtctrl/qwt-6.1.0#這裏就是你qwt控件的位置,根據每個人計算機的不同來修改,別直接ctrl+c,ctrl+v
include( $${QWT_ROOT}/qwtfunctions.pri )
INCLUDEPATH += $${QWT_ROOT}/src
DEPENDPATH += $${QWT_ROOT}/src
%QWT_CONFIG  += QwtDll %如果需要使用繼承時需要這句 -- 下面依次類推

contains(QWT_CONFIG, QwtFramework) {
LIBS += -F$${QWT_ROOT}/lib
}
else {

LIBS += -L$${QWT_ROOT}/lib
}
qwtAddLibrary(qwt)
contains(QWT_CONFIG, QwtOpenGL ) {

QT += opengl
}
else {

DEFINES += QWT_NO_OPENGL
}
contains(QWT_CONFIG, QwtSvg) {

QT += svg
}
else {

DEFINES += QWT_NO_SVG
}
win32 {
contains(QWT_CONFIG, QwtDll) {
DEFINES += QT_DLL QWT_DLL
}
}
#end qwt set
然後可以成功編譯應用程序了 技術分享

方法2:(非常不建議)

把lib文件放置qt sdk的lib文件夾下,dll文件放置在sdk的bin文件夾下 qt sdk目錄根據版本不同不一樣,我的是vs2012版的,在c:\Qt\Qt5.1.1\5.1.1\msvc2012\目錄下其他的同理,2010的就在Qt\Qt5.1.1\5.1.1\msvc2010\ 技術分享 把qwt.dll和qwtd.dll復制到qt安裝目錄下的bin文件夾中 把qwt.lib和qwtd.lib文件復制到qt安裝目錄的lib文件夾下 技術分享 技術分享 把src文件夾下的頭文件復制到qt安裝文件夾下的include文件夾下(新建qwt文件夾) 這樣就可以了,但是還是不能編譯成功,因為需要設置一下pro文件 在pro文件下加入如下語句
1
2
3
4
5
6
7
8
9
#qwt設置
include(d:/Qt/qwt-6.1.0/qwtfunctions.pri)
DEFINES *= QWT_DLL
CONFIG += qwt
LIBS += -Ld:/Qt/Qt5.0.2/5.0.2/msvc2010/lib-lqwt
INCLUDEPATH += d:/Qt/qwt-6.1.0/src
DEPENDPATH += d:/Qt/qwt-6.1.0/src
qwtAddLibrary(qwt)
#end qwt


至此qwt的安裝配置就完成了。 qwt文件夾下有說明文檔和例子,通過他們都能掌握基本的操作,這裏暫不細說了

註:

當你用qt creator編譯發現連接出問題時,你可以試下點“構建”-“清理所以項目”,當這個也沒有反應時,你可以手動把編譯的那個文件夾(默認和項目同級類似於“build-qwt-Desktop_Qt_5_1_1_MSVC201x_32bit-Release”這樣的樣式)全部刪除。之後再編譯,如果還有連接問題就是你代碼有問題了。

paper 139:qt超強繪圖控件qwt - 安裝及配置