Ubuntu Qt的安裝和使用


安裝Qt

前提

執行以下命令,保證安裝所需的庫,主要原因是:

  1. QT5系統缺少lGL圖形鏈接庫
  2. QT從5.8開始,編譯工具就必須要支持C++11標准的才行,而GCC版本4.8以上才支持這個標准。
sudo apt-get install g++
sudo apt-get install build-essential 
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev freeglut3-dev 

Qt 安裝

在Linux環境下搭建Qt開發環境有兩種方式:一種是圖形界面的安裝,另一種是源代碼的安裝。這里為了方便,快速開發,使用基於圖形界面方式。
Qt各版本下載地址
Qt版本選擇的是:Qt 5.9.1 64位版本

步驟:

  • 在QT官網下載Qt安裝包,這里下載qt-opensource-linux-x64-5.9.1.run,注意Qt5.9.1linux版本的只有64位,這是因為QT官方從Qt5.5以后不再支持32為版本。
  • 執行如下命令:
    sudo chmod +x qt-opensource-linux-x64-5.9.1.run
    說明:該命令是為了給為Qt安裝包賦予可執行的權限。
  • 然后再執行如下命令:
    sudo ./qt-opensource-linux-x64-5.9.1.run
    此時會彈出圖形化的安裝界面,之后的操作就跟Windows下安裝軟件相類似。

這里使用root權限安裝是因為要安裝在默認目錄/opt下,當然也可以選擇普通用戶安裝。
需要說明的是:qt-opensource-linux-x64-x.x.x.run包中包含了QtCreator可視化的開發工具,在安裝完后,找到安裝目錄下的Tools/QtCreator/bin目錄下發現有QtCreator可執行文件,該文件就是Qt可視化的開發工具。

  • 最后,添加qt環境變量
    qmake這個命令需要進行環境變量的配置才能找到並執行。具體做是在當前用戶的主目錄下面編輯對應的.bashrc文件。
    執行如下命令:
cd
vim .bashrc

然后,在該文件末尾添加如下語句:

export PATH="/xxx/xxx//Qtx.x.x/x.x/gcc/bin":$PATH

中間的路徑即為Qt中qmake的絕對路徑。編輯完成后保存退出Vim(:wq)。然后再執行如下命令:

source .bashrc

設置即可生效。
注:這里我並不是這樣使用的,.bashrc僅僅對普通用戶生效。由於qt采用了root權限安裝,因此,這里root權限添加到 vim /etc/profile,在普通用戶模式下也生效,最后source即可。

sudo gedit /etc/profile
export PATH=$PATH:/opt/Qt5.6.0/5.6/gcc_64/bin
source /etc/profile

Hello Qt!

Linux下Qt編程(命令方式)

  1. 新建文件夾:mkdir hello,在文件夾下創建文件:cd hello, vim hello.cpp
  2. 在hello.cpp中輸入代碼:
#include <QApplication>  
#include <QLabel>  
 
int main(int argc,char *argv[])  
{
    QApplication app(argc,argv);
    QLabel *label=new QLabel("Hello QT!");
    label->show();
    return app.exec();      
}
  1. 在終端下輸入命令:qmake -project ,生成工程文件。此時在hello文件夾下生成hello.pro文件。
  2. 在終端下輸入命令:qmake hello.pro,生成Makefile
  3. 在終端下輸入命令:make ,進行編譯。生成hello可執行文件。
  4. 在終端下輸入命令:./hello ,運行程序。

Qwt安裝

Qwt,全稱是Qt Widgets for Technical Applications,是一個基於LGPL版權協議的開源項目, 可生成各種統計圖。它為具有技術專業背景的程序提供GUI組件和一組實用類,其目標是以基於2D方式的窗體部件來顯示數據, 數據源以數值,數組或一組浮點數等方式提供, 輸出方式可以是Curves(曲線),Slider(滾動條),Dials(圓盤),Compasses(儀表盤)等等。該工具庫基於Qt開發,所以也繼承了Qt的跨平台特性。

QWT源碼目錄

designer目錄:QWT插件的源碼
doc目錄:幫助文檔
example目錄:QWT簡單例子的源碼
src目錄:QWT源碼
textengines目錄:數學指標語言的文本驅動引擎代碼
playground目錄:QWT開發中探索、測試新特性的模塊
qwt.pro:工程文件
qwtconfig.pri:配置文件

安裝目錄

QWT安裝后的目錄如下:
doc:包括html和articles兩個目錄,存放qwt的說明文檔,其中html目錄就是qwt官方網頁的本地版本
features: qwt的安裝配置文件
include:所有qwt控件的頭文件都在這里
lib:核心部分,由於默認配置文件是將qwt庫編譯成動態庫,因此本目錄下是4個so文件(實際上只有一個庫文件,另外三個是軟連接)
plugins: Qt Designer的插件,用於在Designer或Creator設計器中將qwt顯示在左側的控件列表中。

安裝qwt

在安裝了qt開發環境后,先去其主頁下載qwt庫源代碼。

  1. 下載qwt,注意是ubuntu下安裝,我下載的是后綴為tar.bz2版本。下載地址

  2. 解壓后拷貝到/usr/local/下,用Qtcreator打開qwt.pro文件,注意選擇qmake的版本(因為Ubuntu默認環境下有一個qt版本,所有要選擇我們剛剛安裝的qmake)。
    注意到官方安裝文檔有這么一句話:

Platforms
Qwt 6.1 might be usable in all environments where you find Qt.
It is compatible with Qt4 ( >= 4.4 ) and all Qt5 versions.

這里我們Qwt版本是6.1.3,Qt使用5.9版本,是滿足條件的。
然后->clean all (清除)-> run qmake(構建) ->build qwt

  1. 終端進入qwt.6.1.3目錄,cd /usr/local/qwt6.1.3

使用5.9版本的qmake執行qmake,注意此時要進入相應qmake版本的目錄,我這里使用命令:

/opt/Qt5.9.1/5.9.1/gcc_64/bin/qmake 

這一步可以生成Makefile文件

注:也可直接進入qwt.6.1.3文件夾后,在終端執行qmake qwt.pro,也可生成Makefile文件。

  1. 接下來在qwt6.1.3目錄下看到Makefile文件后,執行make,然后執行sudo make install,注意可能會出現小警告,我這里忽略了。
make
sudo make install

這樣就完成qwt6.1.3的安裝了,安裝的路徑是/usr/local/qwt-6.1.3

添加qwt庫路徑到鏈接器的路徑當中。使用了qwt庫的程序會鏈接到libqwt.so庫,而這個庫安裝路徑並不在系統環境變量內,所以要自己添加其路徑。

#編輯~/.bashrc在最后一行加上:
export LD_LIBRARY_PATH=/usr/local/qwt-6.1.3/lib
source ~/.bashrc

example測試成功
由於上面的編譯過程沒有自動編譯示例程序,需要我們手動編譯
所有示例程序都放在qwt-6.1.3/examples/目錄下,執行下面的命令:

cd examples
/opt/Qt5.9.1/5.9.1/gcc_64/bin/qmake  #生成Makefile
make

編譯后的所有可執行程序就放在qwt/examples/bin/目錄下。

  1. 拷貝lib文件
sudo cp /usr/local/qwt-6.1.3/lib/*   /opt/Qt5.9.1/5.9.1/gcc_64/lib
  1. 拷貝so文件(添加插件)
    首先確認生成的so文件
cd /usr/local/qwt-6.1.3/plugins/designer/
ldd libqwt_designer_plugin.so (該文件僅root是rwx權限,鏈接了libqwt.so.6)

注意,這里我之前犯的錯是將so文件拷貝錯了地方,應該是要拷貝到qtcreator的designer文件夾下,我拷貝到qt的designer目錄下,顯示不出來效果。正確的命令如下:

sudo cp /usr/local/qwt-6.1.3/plugins/designer/libqwt_designer_plugin.so  /opt/Qt5.9.1/Tools/QtCreator/lib/Qt/plugins/designer

這一步我出錯了無數次,一定是在qt的designer目錄下,而不是qt的gcc_64下面的lib,如果安裝在那個下面,在以qt設計師方式打開.ui文件時會出現failed get meta data錯誤。

  1. 打開Qtcreator,雙擊打開一個ui文件,看designer有沒有qwt控件。若沒有,可以在ui界面下,單擊tool菜單 ->form editor ->about Qt designer plugins下點擊refresh,應該會有qwt插件,恭喜,安裝成功!

  2. 在自己的項目中使用qwt時,需要在自己項目的pro文件添加

INCLUDEPATH += /usr/local/qwt-6.1.3/include  
LIBS += -L "/usr/local/qwt-6.1.3/lib/" -lqwt  

參考

Ubuntu16.04安裝Qt+qwt+fftw
Qt各版本官方下載地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM