首页 > 开发工具 > VSCode > 正文

浅谈VSCode配置并进行Qt开发的方法

青灯夜游
发布: 2021-06-23 11:28:57
转载
21061 人浏览过

Qt是一个由Qt Company开发的跨平台C 图形用户界面应用程序开发框架,本篇文章给大家介绍一下将Qt的bin目录添加到环境变量、安装VSCode扩展、使用VS Code进行Qt开发、构建并运行项目的方法。

浅谈VSCode配置并进行Qt开发的方法

【推荐学习:《浅谈VSCode配置并进行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:Qt5.15.0msvc2019_64bin添加到环境变量。

2. 安装VS Code扩展

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

c

在扩展商店搜索浅谈VSCode配置并进行Qt开发的方法,安装前两个扩展,分别为CMake、CMake Tools。

浅谈VSCode配置并进行Qt开发的方法

3. 使用Qt Creator创建CMake项目

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

浅谈VSCode配置并进行Qt开发的方法

4. 在VS Code中打开项目

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

浅谈VSCode配置并进行Qt开发的方法

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

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

5. 构建并运行项目

F7进行构建:

浅谈VSCode配置并进行Qt开发的方法

Shift F5运行:

浅谈VSCode配置并进行Qt开发的方法

7. 调试项目

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

浅谈VSCode配置并进行Qt开发的方法

一些小问题

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

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

浅谈VSCode配置并进行Qt开发的方法

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

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

浅谈VSCode配置并进行Qt开发的方法

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

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

target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")
登录后复制

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

浅谈VSCode配置并进行Qt开发的方法_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")
登录后复制

智能感知正常工作:

浅谈VSCode配置并进行Qt开发的方法

更多编程相关知识,请访问:编程入门!!

以上是浅谈VSCode配置并进行Qt开发的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:csdn.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板