前言:大学做毕设的时候搞过一段时间的QT,记得当时时间急匆匆忙忙地应付式完成了,最终Qt掌握得不3不4,现在决定:从零开始学习Qt。fight for Qt together ...
环境: Ubuntu-16.04
一、下载Download:
First of all, 到官网(Qt Downloads)下载,地址:http://download.qt.io/
主要目录说明:
目录 | 说明 |
---|---|
official_releases | 正式发布版,稳定的 |
development_releases | 开发版,不稳定的 |
community_releases | 社区定制的Qt库 |
所以,选择official_releases版本的来下载,依次选择操作(根据自己喜好的版本):
【official_releases】 => 【qt】 => 【5.12】 => 【5.12.4】 => 【qt-opensource-linux-x64-5.12.4.run】
注意:不要选择【qtcreator】,只是老版本的Qt4需要。
二、安装Install
在Ubuntu中,先赋予文件可执行权限,再运行qt-opensource-linux-x64-5.12.4.run,
命令:$ sudo chmod +x qt-opensource-linux-x64-5.12.4.run
命令:$ sudo ./qt-opensource-linux-x64-5.12.4.run
前面步骤简单,略过,直到这一步,需选择要安装的组件,如下:
Android相关的不要(搞安卓的),source也不要(有兴趣研究源代码的可安装上)。
然后再一路Next就可大功告成。
qtcreator位于安装目录下的 Tools/QtCreator/bin/ ,
可将其添加至环境变量中,如(/etc/profile文件末尾添加行,再 $source /etc/profile),即可在任意目录中启动qtcreator。
PATH=$PATH:/data/Qt/Qt5/Tools/QtCreator/bin
三、创建第一个工程---Hello Qt程序
1、打开qtcreator
命令行输入:$ qtcreator,打开界面如下:
2、新建工程
点击Qt Creator 菜单栏的 【文件】->【新建文件或项目】,选择创建一个桌面Qt应用,如图:
设置项目名称与位置:
选择组件Kit Selection,勾选全部kits:
设置类信息,设置如图:
点击完成按钮,弹出新建的工程:
说明:
xxx.pro | 项目管理文件,包括一些项目设置项 |
Headers | 包含的头文件(.h) |
Sources | 源文件(.cpp) |
Forms | 界面文件,用于界面的设计布局等 |
点出打开mainwindow.ui界面文件,如图:
说明,左下角:
分别是:运行(Run),调试(Debug),编译(Build)
在左侧的组件面板中,找到【Display Widgets】->【Label】,将【Label】组件拖入设计窗口中,双击编辑输入“Hello Qt”:
编译...,出错了!!! Cannot find -lGL collect2:error:ld returned 1 exit status !!!
原因:是没有找到libGL库!
在Ubuntu上搜索一下libGL,找得到啊:
zengzr@zengzr-ubu:~$ locate libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
原来,Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录。
所以,在/usr/lib/下创建指向libGL的软链接即可:
zengzr@zengzr-ubu:/usr/lib$ cd /usr/lib/
zengzr@zengzr-ubu:/usr/lib$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 libGL.so
zengzr@zengzr-ubu:/usr/lib$ ls -l /usr/lib/libGL.so
lrwxrwxrwx 1 root root 41 9月 8 12:46 /usr/lib/libGL.so -> /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
创建完成,再次编译-成功,运行-完美如下图:
完~