Linux 下 Qt 开发环境的搭建
步骤如下:
-
安装 Qt6 库和开发工具包。
在 Arch Linux 上,可以使用 AUR 包管理器安装 Qt6。打开终端并运行以下命令:
yay -S qt6-base qt6-tools qt6-svg qt6-multimedia qt6-webengine
安装的分别是:Qt6 基本库、工具包、SVG 模块、多媒体模块和 WebEngine 模块。
-
创建 CMake 项目。
创建空目录作为项目目录,创建
CMakeLists.txt
:1 cmake_minimum_required(VERSION 3.16) 2 project(my_qt_app) 3 4 set(CMAKE_AUTOMOC ON) 5 set(CMAKE_AUTORCC ON) 6 set(CMAKE_AUTOUIC ON) 7 set(CMAKE_CXX_STANDARD 17) 8 set(CMAKE_CXX_STANDARD_REQUIRED ON) 9 10 find_package(Qt6 COMPONENTS Widgets REQUIRED) 11 12 add_executable(my_qt_app main.cpp) 13 14 target_link_libraries(my_qt_app Qt6::Widgets)
上面的代码创建一个名为
my_qt_app
的项目,并告诉 CMake 使用 Qt6 Widgets 组件。详细解释如下:
-
cmake_minimum_required(VERSION 3.16)
这个命令指定 CMake 的最低版本要求。在这个例子中,我使用的是 CMake 3.16 版本。
-
project(my_qt_app)
这个命令指定了项目的名称。在这个例子中,我把项目命名为
my_qt_app
。 -
set(CMAKE_AUTOMOC ON)
,set(CMAKE_AUTORCC ON)
,set(CMAKE_AUTOUIC ON)
这三个命令分别启用了自动 MOC、自动 RCC 和自动 UIC 功能。
-
MOC 元对象编译器,用于处理信号和槽等元对象相关的代码。
-
RCC 资源编译器,用于将资源文件编译成 C++ 代码
-
UIC 用户界面编译器,用于将 Qt Designer 的 .ui 文件编译成 C++ 代码。启用这些功能可以简化 Qt 项目的构建过程。
-
-
set(CMAKE_CXX_STANDARD 17)
,set(CMAKE_CXX_STANDARD_REQUIRED ON)
这两个命令指定了 C++ 标准的版本。在这个例子中,我使用的是 C++17 标准。
set(CMAKE_CXX_STANDARD_REQUIRED ON)
命令指定必须使用 C++17 标准,如果不支持将构建失败。 -
find_package(Qt6 COMPONENTS Widgets REQUIRED)
这个命令告诉 CMake 查找 Qt6 Widgets 组件,并将其链接到项目中。
REQUIRED
参数指定必须找到该组件,否则构建将失败。 -
add_executable(my_qt_app main.cpp)
这个命令将
main.cpp
文件编译成可执行文件my_qt_app
。 -
target_link_libraries(my_qt_app Qt6::Widgets)
这个命令将 Qt6 Widgets 库链接到
my_qt_app
可执行文件中。
-
-
编写代码
创建
main.cpp
文件:1 #include <QApplication> 2 #include <QLabel> 3 4 int main(int argc, char *argv[]) 5 { 6 QApplication app(argc, argv); 7 8 QLabel label("Hello, World!"); 9 label.show(); 10 11 return app.exec(); 12 }
上面的代码在窗口中显示“Hello, World!”。
-
构建和运行应用程序。
构建
1`cmake -B build` 2`cmake --build build`
运行
1./my_qt_app
上面的代码打开一个窗口,显示“Hello, World!”。