Linux下QT环境的配置

开发环境:Ubuntu16.04 LTS、 QT Creator 5.8。

前言

QT Creator是一款可以用来编写界面的IDE,而QT则是库。本文旨在说明QT Creator 5.8的安装方法,以及用cmake来编译创建的QT工程。用cmake的原因是,当开发的
程序是包含了大量的第三方库时,QT自带的qmake并不实用,还是跨平台编译工具cmake好用。

QT Creator 5.8 及其他库的安装

下载安装包

不知道为啥QT官方的安装过程整的很麻烦,需要用户注册,嗯,注册完还不能直接下载,各(zhen)种(ma)绕(fan)。下载QT的安装包可以从QT镜像下载。下面直接给出下载过程,关于整个下载页面的说明,请参考Qt Creator的下载和安装

打开网页后,依次点击archive/ -> qt/ -> 5.8/ -> qt-opensource-linux-x64-5.8.0.run,下载安装包。

安装过程

在Terminal中,打开安装包存放路径,执行下列语句进行安装。

1
2
chmod +x qt-opensource-linux-x64-5.8.0.run
./qt-opensource-linux-x64-5.8.0.run

执行完上述语句后,会弹出QT Creator的安装界面,如下图。
01.png

点击Next,在下面的输入登录信息点击Skip即可。
02.png

继续点击Next。
03.png

在下面的页面中,选择自己要安装的位置,再点Next。
04.png

在下面的页面中,默认是不安装Sources的,由于笔者第一次使用,不明白这里不安装会有什么问题,故而选择了安装。
05.png

同意协议。
06.png

在下面的页面中,点击Install,开始安装,等待安装完成即可。
07.png

其他库的安装

以上过程只是安装了QT Creator 5.8,为了能正常使用,还需要安装一些其他的库,依次执行下列语句即可。

1
2
3
4
5
6
sudo apt-get install g++
sudo apt-get install libx11-dev libxext-dev libxtst-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get install build-essential
sudo apt-get install libqt4-dev
sudo apt-get install git build-essential cmake qt5-default qtscript5-dev libssl-dev qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5svg5-dev libqt5webkit5-dev libsdl2-dev libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack-jackd2-dev libxrandr-dev libqt5xmlpatterns5-dev libqt5xmlpatterns5 libqt5xmlpatterns5-private-dev

说明:上述的命令是通过参考一些帖子得来的,前5条命令笔者并不知道是否为必须,最后一条命令是必须要安装的。事实上,最后一条是包含了前面部分的库的。

HelloWorld案例介绍

本节介绍使用QT来创建一个例子HelloWorld,首先使用QT Creator来编写程序,弹出如下的页面,再介绍添加cmake来实现同样的功能。
08.png

QT Creator的创建过程

工程的创建

打开QT Creator,创建一个新的工程,选择相应的存放路径。如下图所示。
09.png
10.png
11.png

选择默认的Kits。
12.png

Class Information中的Base Class中选择QWidget,如下图所示。
13.png

点击Finish完成工程创建。
14.png

创建完工程后,QT Creator中的目录如下:
15.png

程序的编写

在上图中,widget.ui是整个的显示页面程序,widget.cpp是页面程序中的处理方法,main.cpp包含了主函数。

双击widget.ui,打开如下界面,找到Display Widgets下的Label,用鼠标左键按住拖动至右面的框中,将显示文本修改为“Hello QT and CMAKE!”。

双击widget.cpp,修改程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);

//窗体标题
this->setWindowTitle("Qt5.1 窗体应用");
//窗体 ICO 图片,如图不起别名,后缀直接写图片全名。
this->setWindowIcon(QIcon(":/new/prefix1/ico.png"));
}

Widget::~Widget()
{
delete ui;
}

点击上图中左下角的第一个绿色三角,即可运行程序。至此,使用QT Creator创建了第一个界面程序。

使用cmake对程序进行编译

在HelloWorld工程中右键,添加新文件,选择General -> Empty File,命名为CMakeLists.txt,如图所示。
16.png

并在CMakeLists.txt中添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR)
project(QtHelloWorld)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

find_package(Qt5 REQUIRED Widgets)
qt5_wrap_cpp( MOC widget.h)
qt5_wrap_ui( UIC widget.ui)
add_executable(QtHelloWorld main.cpp widget.cpp widget.h widget.ui ${RESOURCE_DIR})
target_link_libraries(QtHelloWorld Qt5::Widgets)

接下来尝试使用cmake对工程进行编译。

1
2
3
4
5
cd 工程所在目录
mkdir build
cd build
make -j2
./QtHelloWorld

程序运行结果

08.png

至此,完成了通过QT Creator创建工程并通过IDE直接运行或者使用cmake来编译运行工程的示例。

------ 本文结束感谢您的阅读------
Donate a cup of cola?