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

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

轉自:http://blog.csdn.net/czyt1988/article/details/11999985

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控件最大的優點是它的靈活性,但這個靈活性也導致它偶爾會很麻煩

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 集成進QtDesigner

找到qt安裝目錄

這裏寫圖片描述

目錄下的tools文件夾是qt creator的安裝位置,裏面就是QtCreator,找到QtCreator\bin\plugins\designer\文件夾下,把編譯好的qwt_designer_plugin.dll放入。打開qtcreator,就能看的qwt控件了。

這裏寫圖片描述

拖放幾個控件試着運行,這時軟件肯定是編譯不過的

這裏寫圖片描述

由於頭文件dllqt creator都沒有找到,所以肯定是編譯不過的,現在又兩種方法

3.2.2 集成QtCreator

方法1:(建議使用)
需要用到qwt的項目,打開它的pro文件
加入如下語句:
其中根據每個人的文件位置不一樣,只需要改動第一個語句就可以,就是定位到qwt的安裝位置的語句

#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文件下加入如下語句

#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”這樣的樣式)全部刪除。之後再編譯,如果還有連接問題就是你代碼有問題了。

轉自:http://blog.csdn.net/czyt1988/article/details/11999985

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章