Linux Mint 20 安装 QT5

最近想写些 pc 的小工具给自己使用。决定使用 qt5 来开发,首先需要安装开发包。网上的教程基本都是从 qt 官网上下载安装包安装的,另外一些教程则只是安装了基本开发包而已,没有安装文档和 example 的。
因此记录一下使用 apt 安装 qt5 开发包及文档,example 的过程。

1. 安装 qt5 基本开发包

1
sudo apt install build-essential qt5-default qtcreator

如果你不需要看文档和例子的话,这样子就足够了。但对于我这种新手菜鸡来说,没有例子来学习是不行的。

2. 安装开发文档和例子

1
sudo apt install qt5-doc qt5-doc-html qtbase5-doc-html qtbase5-examples

安装完后,打开 qtcreator ,示例里面就可以看到各种各样的例子了。
以上只是安装了 qt5 的基本界面开发包,文档及例子而已。qt5 还把很多开发包给拆分了出来,比如说串口,多媒体,webengine 等。大家根据自己需要来选择安装。

3. 安装串口相关的开发包及文档

这次是想写个串口工具,因此需要用到串口开发包,我们可以这样查找一下 qt 都提供了哪些扩展开发包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mint@mint-pc:~$ apt search libqt | grep dev | grep -v i386
p libqt5-ukui-style-dev - Development files of libqt5-ukui-style1
p libqt5charts5-dev - Qt charts development files
p libqt5datavisualization5-dev - APIs for data visualization functionality - development files
p libqt5gamepad5-dev - Qt 5 gamepad module - development files
p libqt5gstreamer-dev - Development headers for QtGStreamer - Qt 5 build
p libqt5networkauth5-dev - online account access for Qt apps - Development Files
v libqt5opengl5-desktop-dev -
i A libqt5opengl5-dev - Qt 5 OpenGL library development files
p libqt5pas-dev - Development files for Qt5Pas
p libqt5remoteobjects5-dev - Qt module for IPC — development files
v libqt5scintilla2-dev -
p libqt5scxml5-dev - Qt module for creating state machines from SCXML files development
p libqt5sensors5-dev - Qt 5 Sensors development files
p libqt5serialbus5-dev - Qt serialbus serial bus access development
p libqt5serialport5-dev - Qt 5 serial port development files
p libqt5svg5-dev - Qt 5 SVG module development files
p libqt5texttospeech5-dev - Speech library for Qt - development files
p libqt5virtualkeyboard5-dev - Qt virtual keyboard - development files
p libqt5waylandclient5-dev - QtWayland client development files
p libqt5waylandcompositor5-dev - QtWayland compositor development files
p libqt5webchannel5-dev - Web communication library for Qt - development files
p libqt5webkit5-dev - Web content engine library for Qt - development files
p libqt5websockets5-dev - Qt 5 Web Sockets module - development files

我们可以看到有很多模块开发包,比如 gamepad, gstreamer, opengl, sensor, serialport 等,这里我们要安装的串口开发模块是 libqt5serialport5-dev。相关的开发文档可以这么搜索

1
2
3
4
mint@mint-pc:~$ apt search qt5serialport
p A libqt5serialport5 - Qt 5 serial port support
p libqt5serialport5-dev - Qt 5 serial port development files
p qt5serialport-examples - Qt 5 serial port examples

因此我们要安装以下两个包

1
sudo apt install libqt5serialport5-dev qt5serialport-examples

安装完之后,重启 qtcreator,我们就可以看到多出了一些串口相关的例子。
qtserialport-example

其他的模块也是类似的安装方法。

使用 clion 来开发 qt 程序

使用过各种 IDE, 发现还是 clion 最好用。qtcreator 只是用来看文档和例子而已
只要在 CMakeLists.txt 中添加以下配置即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# qt5 setttings
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5 REQUIRED Widgets SerialPort)

FILE(GLOB_RECURSE header_list "src/*.h")
FILE(GLOB_RECURSE cpp_list "src/*.cpp")

# qt5 settings, 信号,槽相关
qt5_wrap_cpp(MOC ${cpp_list})

# qt5 settings, 有资源文件的话,需要做以下配置
#set(RESOURCE_DIR res/resources.qrc)
#qt5_wrap_ui(UIC widget.ui)
#qt5_add_resources(RCC resources.qrc)

add_executable(qsterminal ${cpp_list} ${header_list})

# qt5 settings
target_link_libraries(qsterminal Qt5::Widgets Qt5::SerialPort)