zoukankan      html  css  js  c++  java
  • 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各版本官方下载地址

  • 相关阅读:
    显示非模式窗口和模式窗口
    delphi 版本号
    数字证书和签名
    DLL知道自己的位置
    拖动处理
    驱动配置相关
    python sturct模块操作C数据
    Lambda学习笔记
    【转】update select
    [转]视频格式分类
  • 原文地址:https://www.cnblogs.com/jsdy/p/12795369.html
Copyright © 2011-2022 走看看