使用VS Code进行Qt开发

本文详细介绍了如何在VSCode中利用CMake进行Qt项目的开发,包括设置环境变量、安装VSCode插件、创建Qt项目、调试过程中的问题解决。重点探讨了Qt与CMake结合的优势,并提供了解决ui文件智能感知问题的方法。

使用VS Code进行Qt开发

Qt Creator界面不美观,而VS Code更漂亮一些。

因为Qt5支持使用CMake进行构建,而VS Code也可以支持CMake构建系统,因此是完全可以的。

测试环境

  • Qt 5.15.0
  • CMake 3.17.5
  • Visual Studio 2019 16.7.5(使用C++的桌面开发)
  • Visual Studio Code 1.49.3

步骤

1. 将Qt的bin目录添加到环境变量

假设Qt安装在C:\Qt,那么将C:\Qt\5.15.0\msvc2019_64\bin添加到环境变量。

2. 安装VS Code扩展

在扩展商店搜索c++,安装微软发行的C/C++扩展。

c++

在扩展商店搜索cmake,安装前两个扩展,分别为CMake、CMake Tools。

cmake

3. 使用Qt Creator创建CMake项目

使用Qt Creator创建一个测试项目,如图所示:

creator

4. 在VS Code中打开项目

用VS Code打开CMakeLists.txt文件所在目录,如图所示:

vscode

需要选择一个kit,我是用的是VS 2019的工具包,也可以使用MinGW,具体请参考CMake扩展的官方文档。

提示是否配置智能感知,选择是。

5. 构建并运行项目

F7进行构建:

buildqt

Shift + F5运行:

run

7. 调试项目

添加断点,按下Ctrl + F5进行调试:

debug

一些小问题

测试后发现如果使用MinGW构建则不会出现下面的问题,而使用Visual C++构建则会出现。

上述所有步骤完成后,已经可以正常编码和运行,但智能感知有一点问题,如图:

problem

原因在于Qt生成的ui文件没有被包含到智能感知的include目录中。

查询了CMake文档后发现ui文件所在目录会被添加到目标属性的include目录属性中:

check

但实际验证发现并没有,所以我们还需要手动添加这个属性。

假设生成的目标为Test,在CMakeLists.txt文件的最后一行添加:

target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")

最终的CMakeLists.txt文件内容为:

cmake_minimum_required(VERSION 3.5)

project(Test LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
# They need to be set before the find_package(Qt5 ...) call.

#if(ANDROID)
#    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
#    if (ANDROID_ABI STREQUAL "armeabi-v7a")
#        set(ANDROID_EXTRA_LIBS
#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
#    endif()
#endif()

find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)

if(ANDROID)
  add_library(Test SHARED
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
  )
else()
  add_executable(Test
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
  )
endif()

target_link_libraries(Test PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)

target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")

智能感知正常工作:

resolve

<think>好的,用户现在想知道如何在VS Code开发Qt项目。之前他问过通义灵码是否支持Qt Creator,现在可能已经决定转向VS Code,或者想了解替代方案的具体步骤。我需要详细回答如何在VS Code中配置Qt开发环境,可能需要包括安装扩展、配置工具链、调试设置等。 首先,用户可能是刚接触Qt或者VS Code,所以步骤要清晰,避免专业术语过多。可能需要分点说明,每一步具体操作,比如安装哪些插件,如何配置CMake或Qake,如何设置调试器。同时,考虑到不同操作系统的差异,可能需要分别说明Windows、Linux和macOS的情况,但用户可能用的是其中一种,所以需要通用步骤为主,再提差异。 另外,用户之前提到通义灵码不支持Qt Creator,现在使用VS Code的话,可以结合通义灵码的插件,所以可能需要提到如何利用AI辅助编程工具来提高效率。但重点还是Qt项目的配置。 还需要注意常见问题,比如环境变量设置、路径问题,或者编译时的错误处理,可能需要在步骤中提醒用户注意这些点。例如,确保Qt的路径被正确添加到系统环境变量中,或者CMake配置时的生成路径是否正确。 可能还需要比较使用VS CodeQt Creator的优缺点,但用户已经决定用VS Code,所以重点放在配置步骤上。同时,如果有推荐的扩展或工具,比如C++扩展、CMake Tools、Qt Configure等,需要具体说明安装和配置方法。 最后,确保步骤逻辑清晰,用户能够一步步跟随操作,从安装必要软件开始,到创建项目、配置、编译调试,整个流程完整。可能还需要给出一个简单的示例项目,帮助用户测试配置是否成功。以下是</think>使用 **VS Code 开发 Qt 项目**的详细步骤指南,涵盖环境配置、项目创建、调试等关键环节: --- ### **一、环境准备** 1. **安装必要软件**: - **Qt 框架**:从 [Qt 官网](https://www.qt.io/download) 下载并安装 **Qt Online Installer**,选择所需的 Qt 版本(如 Qt 6.x)及组件(如 MSVC/MinGW 编译器)。 - **VS Code**:从 [官网](https://code.visualstudio.com/) 下载安装。 - **编译器**: - **Windows**:安装 MSVC(通过 Visual Studio)或 MinGW。 - **Linux/macOS**:使用系统自带的 GCC/Clang。 2. **安装 VS Code 扩展**: - **C/C++**(Microsoft 官方扩展):提供代码提示、调试支持。 - **CMake Tools**(Microsoft):用于 CMake 项目构建。 - **Qt Configure**:简化 Qt 项目配置(可选但推荐)。 - **通义灵码**:AI 代码补全(可选,但可提升效率)。 --- ### **二、配置 Qt 环境** #### **1. 设置 Qt 路径** - 在 VS Code 中按 `Ctrl+Shift+P` 打开命令面板,输入 `Preferences: Open Settings (JSON)`,添加 Qt 安装路径: ```json { "qt.qtdir": "C:/Qt/6.5.0/msvc2019_64", // Windows 示例路径 // Linux/macOS 示例路径:"/opt/Qt/6.5.0/gcc_64" } ``` #### **2. 配置编译器与构建工具** - 确保编译器路径已加入系统环境变量(如 Windows 的 MinGW 的 `bin` 目录)。 - 若使用 CMake,安装后通过命令面板运行 `CMake: Scan for Kits` 自动检测工具链。 --- ### **三、创建 Qt 项目** #### **1. 手动创建项目** 1. 新建文件夹作为项目根目录(如 `my_qt_app`)。 2. 创建以下文件: - **`main.cpp`**(示例代码): ```cpp #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello Qt with VS Code!"); label.show(); return app.exec(); } ``` - **`CMakeLists.txt`**(CMake 项目配置): ```cmake cmake_minimum_required(VERSION 3.16) project(my_qt_app) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) find_package(Qt6 COMPONENTS Core Widgets REQUIRED) add_executable(${PROJECT_NAME} main.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Widgets) ``` #### **2. 使用 Qt Configure 扩展(推荐)** 1. 按 `Ctrl+Shift+P` 运行 `Qt: New Project`,选择模板(如 Widgets 应用)。 2. 自动生成项目结构和 `CMakeLists.txt`。 --- ### **四、构建与运行** 1. **配置 CMake**: - 按 `Ctrl+Shift+P` 运行 `CMake: Configure`,选择编译器(如 GCC 或 MSVC)。 - 运行 `CMake: Build` 或终端执行: ```bash cd build cmake --build . ``` 3. **运行程序**: - 终端进入构建目录,直接执行生成的可执行文件(如 `./my_qt_app`)。 --- ### **五、调试配置** 1. 在 VS Code 中打开 `main.cpp`,设置断点。 2. 按 `F5` 启动调试,选择环境 **C++ (GDB/LLDB)**。 3. 自动生成 `launch.json`,修改配置以匹配可执行文件路径: ```json { "program": "${workspaceFolder}/build/my_qt_app", "cwd": "${workspaceFolder}" } ``` --- ### **六、常见问题解决** - **Qt 头文件找不到**:检查 `CMakeLists.txt` 中 `find_package` 路径是否正确。 - **链接错误**:确认 `target_link_libraries` 包含所需 Qt 模块(如 `Qt6::Widgets`)。 - **UI 文件未编译**:启用 `AUTOUIC` 并确保 `.ui` 文件在资源列表中。 --- ### **七、扩展建议** - **集成通义灵码**:通过代码补全加速 Qt API 编写。 - **使用 Qt Designer**:单独打开 Qt Designer 设计 UI,生成 `.ui` 文件后加入项目。 --- 按照上述步骤,你可以在 VS Code 中高效开发 Qt 应用。若遇到具体问题,可提供错误提示进一步分析!
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值