paper 139:qt超強繪圖控件qwt - 安裝及配置
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 - 安裝及配置