UbuntuQt的安装和使⽤
安装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 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下,当然也可以选择普通⽤户安装。
需要说明的是:un包中包含了QtCreator可视化的开发⼯具,在安装完后,到安装⽬录下的
Tools/QtCreator/bin⽬录下发现有QtCreator可执⾏⽂件,该⽂件就是Qt可视化的开发⼯具。
最后,添加qt环境变量
qmake这个命令需要进⾏环境变量的配置才能到并执⾏。具体做是在当前⽤户的主⽬录下⾯编辑对应的.bashrc⽂件。
执⾏如下命令:
cd
vim .bashrc
然后,在该⽂件末尾添加如下语句:
export PATH="/xxx/xxx///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();
();
}
3. 在终端下输⼊命令:qmake -project,⽣成⼯程⽂件。此时在hello⽂件夹下⽣成hello.pro⽂件。
4. 在终端下输⼊命令:qmake hello.pro,⽣成Makefile
5. 在终端下输⼊命令:make,进⾏编译。⽣成hello可执⾏⽂件。
6. 在终端下输⼊命令:./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开发中探索、测试新特性的模块
下载vim命令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
3. 终端进⼊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⽂件。
4. 接下来在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/⽬录下。
5. 拷贝lib⽂件
sudo cp /usr/local/qwt-6.1.3/lib/* /opt/Qt5.9.1/5.9.1/gcc_64/lib
6. 拷贝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错误。
7. 打开Qtcreator,双击打开⼀个ui⽂件,看designer有没有qwt控件。若没有,可以在ui界⾯下,单击tool菜单 ->form editor ->about Qt
designer plugins下点击refresh,应该会有qwt插件,恭喜,安装成功!
8. 在⾃⼰的项⽬中使⽤qwt时,需要在⾃⼰项⽬的pro⽂件添加
INCLUDEPATH += /usr/local/qwt-6.1.3/include
LIBS += -L "/usr/local/qwt-6.1.3/lib/" -lqwt
参考
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论