CLion 2025.2 Help

Qt 项目

Qt 是一个用于创建 GUI 应用程序的跨平台 C++ 框架。 Qt 使用其自有的构建系统 qmake ,并且从 Qt4 版本开始支持 使用 CMake 构建

纯 Qmake 项目无法直接导入到 CLion 中。 但是,当转换为 CMake 后,可以作为常规 CMake 应用程序 打开和管理。 您还可以使用新建项目向导在 CLion 中 创建一个基于 CMake 的 Qt 项目

基于 CMake 的 Qt 项目

对于 CMake 3.0 及更新版本,Qt 提供了模块,使 CMake 能够找到并使用 Qt4 和 Qt5 库。 按照以下步骤为您的 Qt 项目配置 CMakeLists.txt

Qt 项目的 CMakeLists.txt

  1. 添加 find_package 命令以定位所需的库和头文件。 例如:

    find_package(Qt5Widgets REQUIRED)

    然后,使用 target_link_libraries 使您的目标依赖于这些库和头文件:

    target_link_libraries(helloworld Qt5::Widgets)
  2. 为了让 find_package 成功执行,CMake 应该被指示到哪里找到 Qt 安装。

    其中一种方法是设置 CMAKE_PREFIX_PATH 变量。 您可以通过 CMake 设置 对话框中的 -D 或通过 set 命令在 find_package 之前传递它。

    例如,在 Windows 上使用 MinGW 的情况下:

    set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.14.0\\5.14.0\\mingw73_32\\")

    set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.14.0\\5.14.0\\mingw73_32\\lib\\cmake\\")
  3. 如果您的项目使用 MOCUICRCC ,请添加以下行以启用相应编译器的自动调用:

    set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON)
  4. add_executable() 命令中列出所有 .ui .qrc 文件以及您的 .cpp 源文件:

    add_executable( helloworld main.cpp mainwindow.cpp application.qrc )

以下是一个简单的 "Hello, world" 应用程序的完整 CMakeLists.txt 脚本:

cmake_minimum_required(VERSION 3.10) project(Qt-CMake-HelloWorld) set(CMAKE_CXX_STANDARD 17) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.14.0\\5.14.0\\mingw73_32\\") find_package(Qt5Widgets REQUIRED) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) add_executable(helloworld main.cpp mainwindow.cpp application.qrc) target_link_libraries(helloworld Qt5::Widgets)

在 CLion 中设置 Qt 项目

Windows 上的工具链

  1. 在 Windows 上安装 Qt 时,请选择与您在 CLion 中使用的环境相匹配的发行版,例如 MinGW 或 MSVC。

    对于 MinGW,版本和位数(32 位 MinGW 或 MinGW-w64)都应与您的工具链设置匹配。

    Qt 安装程序
  2. 在 CLion 中,转到 设置Ctrl+Alt+S ),导航到 构建、执行、部署 | 工具链 并选择与您的 Qt 安装匹配的工具链。

    如果您有多个 Qt 安装,请确保选择与您在 CMAKE_PREFIX_PATH指定的相同工具链。

    例如,在 MinGW 的情况下:

    MinGW 工具链

CMake 设置

  • Qt 项目在 CLion 中被视为常规 CMake 项目,因此您可以根据需要在 设置 | 构建、执行、部署 | CMake 中配置 CMake 设置。

    例如,您可以创建具有不同 构建类型 的不同 CMake 配置文件,并设置您选择的 CMake 生成器

    在此对话框中,您还可以指定 CMake 选项,例如 CMAKE_PREFIX_PATH ,而不是在 CMakeLists.txt 中设置它们:

    Qt 项目的 CMake 选项

调试器渲染器

Qt 调试器渲染器,也称为 Qt 美化打印器和 Qt 调试助手,允许您以人类可读的形式查看 Qt 变量,例如 QStringQByteArray 和其他数据类型。 要在 CLion 中使用 Qt 渲染器,您需要手动配置它们。 Windows MinGW、macOS 和 Linux 的配置与 Windows MSVC 的配置不同。

  • Windows MinGW、macOS、Linux

    此功能默认启用。 但要使用它,您需要下载 Qt 渲染器并指定其路径:

    1. 转到 设置 | 构建、执行、部署 | 调试器 | 数据视图 | C/C++ | 启用 Qt 渲染器

    2. 点击 下载… 字段旁的 Qt 渲染器

    3. 下载 Qt 渲染器 窗口出现时,点击 下载 Qt 渲染器

      下载 Qt 渲染器

      下载完成后,路径将自动指定。

    4. 点击 确定

    之后,您可以调试您的 Qt 项目并检查格式化的 Qt 变量。

  • Windows MSVC

    CLion 的 MSVC 工具链调试器 可以使用项目中已有的本地可视化工具。 请确保在 设置 | 构建、执行、部署 | 调试器 | 数据视图 | C/C++ 中设置 为 LLDB 启用 NatVis 渲染器 选项。

    例如,将 qt5.natvis 复制到项目根目录下,CLion 将自动检测并使用它进行渲染。

在 Qt Designer 中打开 UI 文件

默认情况下,CLion 在 Qt Designer 中打开 .ui 文件。

IDE 在 设置 | 语言与框架 | QML 中指定的 Qt 二进制文件 文件夹中搜索 Qt Designer 的路径。

如果您单独安装了 Qt Designer 而不是 Qt,CLion 可能无法检测到它,并将在编辑器中打开 .ui 文件。 在这种情况下,请执行以下操作以在 Qt Designer 中打开它们:

  1. 转到 设置 | 编辑器 | 文件类型

  2. 识别的文件类型 列表中选择 Qt UI Designer Form ,并删除关联的文件扩展名:

    移除 .ui 文件的关联
  3. 选择 在关联应用程序中打开的文件 ,并添加 .ui 扩展名:

    将 .ui 重新分配给外部应用程序
  4. 点击 重新分配通配符

  5. 点击 Apply 并关闭对话框。

    下次您在项目树中双击 .ui 文件时,它将在 Qt Designer 中打开。

创建基于 CMake 的 Qt 项目

CLion 提供了两个 Qt 项目模板:Qt 控制台可执行文件和 Qt 小部件可执行文件。

调用 文件 | 新建项目 并在左侧窗格中选择项目类型。 指定位置、语言标准和 Qt 版本。 您还可以提供在 CMAKE_PREFIX_PATH 中使用的路径。 点击 创建 即可。

Qt 项目模板

CLion 将生成一个即用型的存根项目,其中 CMakeLists.txt 会自动填充,包括 CMAKE_PREFIX_PATH 变量:

Qt 控制台可执行模板项目

Qt UI 类模板

您可以快速创建一个 Qt 类,并生成相应的 .ui .cpp .h 文件。

  1. 在项目视图中,从上下文菜单中选择 新建 或按 Alt+Insert。 选择 Qt UI 类

    新建 Qt UI 类菜单选项
  2. 在打开的对话框中,填写类名并配置以下设置:

    • 文件名基础 - 指定要生成的 .ui / .cpp / .h 文件的名称。

    • 父类 - 选择 QWidgetQMainWindowQDialog 或自定义父类。

    • 命名空间 - 如果需要,指定封闭命名空间。

    • 添加到目标 - 勾选此复选框以自动将新文件添加到所选目标的源列表中。

    新建 Qt UI 类对话框
  3. CLion 将根据定义在 设置 | 编辑器 | 文件和代码模板 中的 模板 生成 .ui .cpp .h 文件:Qt Designer Form、Qt Class 和 Qt Class Header。 如果需要,您可以根据需要调整这些模板。

    为新 Qt UI 类生成的文件

Qt 特定的代码智能感知

  • CLion 为 Qt 信号和槽 提供 代码补全 ,过滤建议列表以仅显示相应的成员:

    Qt 信号的补全

    代码补全同样适用于 SIGNAL()SLOT() 宏:

    SLOT 宏的补全
  • CLion 的自动导入支持 Qt 风格的头文件,提供最短的 #include

    Qt 风格的自动导入
  • 此外,CLion 集成了 clazy ,这是一个面向 Qt 的静态代码分析器。 您可以在 设置 | 编辑器 | 检查 | C/C++ | 静态分析工具 | Clazy 中配置 clazy 检查的严重性和级别:

    Clazy 检查

QtCreator 键位图

CLion 捆绑了 QtCreator 键位图。 您可以在 设置 | 键位图 中切换到它,或者通过从主菜单调用 查看 | 快速切换方案Ctrl+`):

切换到 Qt 键位图

当前限制

故障排除

如果您在 MinGW 上运行时收到 Process finished with exit code -1073741515 (0xC0000135) 错误消息,问题可能与 Windows 上的 Qt 部署 有关:动态库和 Qt 插件必须从运行二进制文件的目录中找到。 尝试以下描述的解决方法之一。

选项 1

  1. 将路径添加到 Qt 安装中的 MinGW 目录下的 bin (例如, C:\Qt\5.15.1\mingw81_64\bin )到系统 PATH 或配置设置的 环境变量 字段中。

    如果这不能解决您的项目问题,请尝试 选项 2

选项 2

  1. 将位于 Qt 安装中 MinGW 目录下的 bin 中的 .dll -s 复制到您的项目生成文件夹中,默认情况下是 cmake-构建-debug cmake-构建-release

    您最有可能需要的库是 libstdc++-6.dll Qt5Widgets.dll Qt5Gui.dll Qt5Core.dll ,但您的设置可能还需要其他库。

  2. 在您用于运行的配置设置中,将 QT_QPA_PLATFORM_PLUGIN_PATH 环境变量设置为 plugins\platforms ,位于 MinGW 目录下:

    Qt 插件路径的环境变量

    有关更多信息,请参阅 Qt 插件

最后修改日期: 2025年 9月 26日