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
添加
find_package命令以定位所需的库和头文件。 例如:find_package(Qt5Widgets REQUIRED)然后,使用
target_link_libraries使您的目标依赖于这些库和头文件:target_link_libraries(helloworld Qt5::Widgets)为了让
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\\")如果您的项目使用 MOC、 UIC 或 RCC ,请添加以下行以启用相应编译器的自动调用:
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON)在
add_executable()命令中列出所有 .ui 和 .qrc 文件以及您的 .cpp 源文件:add_executable( helloworld main.cpp mainwindow.cpp application.qrc )
以下是一个简单的 "Hello, world" 应用程序的完整 CMakeLists.txt 脚本:
在 CLion 中设置 Qt 项目
Windows 上的工具链
在 Windows 上安装 Qt 时,请选择与您在 CLion 中使用的环境相匹配的发行版,例如 MinGW 或 MSVC。
对于 MinGW,版本和位数(32 位 MinGW 或 MinGW-w64)都应与您的工具链设置匹配。

在 CLion 中,转到 (Ctrl+Alt+S ),导航到 并选择与您的 Qt 安装匹配的工具链。
如果您有多个 Qt 安装,请确保选择与您在
CMAKE_PREFIX_PATH中 指定的相同工具链。例如,在 MinGW 的情况下:

CMake 设置
调试器渲染器
Qt 调试器渲染器,也称为 Qt 美化打印器和 Qt 调试助手,允许您以人类可读的形式查看 Qt 变量,例如 QString、 QByteArray 和其他数据类型。 要在 CLion 中使用 Qt 渲染器,您需要手动配置它们。 Windows MinGW、macOS 和 Linux 的配置与 Windows MSVC 的配置不同。
Windows MinGW、macOS、Linux
此功能默认启用。 但要使用它,您需要下载 Qt 渲染器并指定其路径:
转到 。
点击 下载… 字段旁的 Qt 渲染器。
当 下载 Qt 渲染器 窗口出现时,点击 下载 Qt 渲染器。

下载完成后,路径将自动指定。
点击 确定。
之后,您可以调试您的 Qt 项目并检查格式化的 Qt 变量。
Windows MSVC
CLion 的 MSVC 工具链调试器 可以使用项目中已有的本地可视化工具。 请确保在 中设置 为 LLDB 启用 NatVis 渲染器 选项。
例如,将 qt5.natvis 复制到项目根目录下,CLion 将自动检测并使用它进行渲染。
在 Qt Designer 中打开 UI 文件
默认情况下,CLion 在 Qt Designer 中打开 .ui 文件。
IDE 在 中指定的 Qt 二进制文件 文件夹中搜索 Qt Designer 的路径。
如果您单独安装了 Qt Designer 而不是 Qt,CLion 可能无法检测到它,并将在编辑器中打开 .ui 文件。 在这种情况下,请执行以下操作以在 Qt Designer 中打开它们:
转到 。
从 识别的文件类型 列表中选择 Qt UI Designer Form ,并删除关联的文件扩展名:

选择 在关联应用程序中打开的文件 ,并添加
.ui扩展名:
点击 重新分配通配符。
点击 Apply 并关闭对话框。
下次您在项目树中双击 .ui 文件时,它将在 Qt Designer 中打开。
创建基于 CMake 的 Qt 项目
CLion 提供了两个 Qt 项目模板:Qt 控制台可执行文件和 Qt 小部件可执行文件。
调用 并在左侧窗格中选择项目类型。 指定位置、语言标准和 Qt 版本。 您还可以提供在 CMAKE_PREFIX_PATH 中使用的路径。 点击 创建 即可。

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

Qt UI 类模板
您可以快速创建一个 Qt 类,并生成相应的 .ui 、 .cpp 和 .h 文件。
在项目视图中,从上下文菜单中选择 新建 或按 Alt+Insert。 选择 Qt UI 类:

在打开的对话框中,填写类名并配置以下设置:
文件名基础 - 指定要生成的 .ui / .cpp / .h 文件的名称。
父类 - 选择
QWidget、QMainWindow、QDialog或自定义父类。命名空间 - 如果需要,指定封闭命名空间。
添加到目标 - 勾选此复选框以自动将新文件添加到所选目标的源列表中。

CLion 将根据定义在 中的 模板 生成 .ui 、 .cpp 和 .h 文件:Qt Designer Form、Qt Class 和 Qt Class Header。 如果需要,您可以根据需要调整这些模板。

Qt 特定的代码智能感知
QtCreator 键位图
CLion 捆绑了 QtCreator 键位图。 您可以在 中切换到它,或者通过从主菜单调用 (Ctrl+`):

当前限制
CLion 跟踪器中的两个总览票据: Qt 项目支持 (CPP-318) 和 Qt 问题 (CPP-1897)。
CLion 的某些代码生成功能可能无法用于 Qt 宏,例如
Q_PROPERTY、Q_SIGNAL、Q_SLOT等。
故障排除
如果您在 MinGW 上运行时收到 Process finished with exit code -1073741515 (0xC0000135) 错误消息,问题可能与 Windows 上的 Qt 部署 有关:动态库和 Qt 插件必须从运行二进制文件的目录中找到。 尝试以下描述的解决方法之一。
选项 1
将路径添加到 Qt 安装中的 MinGW 目录下的 bin (例如, C:\Qt\5.15.1\mingw81_64\bin )到系统
PATH或配置设置的 环境变量 字段中。如果这不能解决您的项目问题,请尝试 选项 2。
选项 2
将位于 Qt 安装中 MinGW 目录下的 bin 中的 .dll -s 复制到您的项目生成文件夹中,默认情况下是 cmake-构建-debug 或 cmake-构建-release 。
您最有可能需要的库是 libstdc++-6.dll 、 Qt5Widgets.dll 、 Qt5Gui.dll 和 Qt5Core.dll ,但您的设置可能还需要其他库。
在您用于运行的配置设置中,将
QT_QPA_PLATFORM_PLUGIN_PATH环境变量设置为 plugins\platforms ,位于 MinGW 目录下:
有关更多信息,请参阅 Qt 插件。




