Qt 开发使用VSCode

配置环境变量

从Qt安装目录中找到对应的工具路径配置环境变量

  • 配置cmake工具环境变量
    • D:\Qt\Tools\CMake_64\bin (cmake.exe 跨平台的编译配置工具,可以用简单的语句来描述所有平台的编译过程)
  • 配置gcc编译器环境变量
    • D:\Qt\Tools\mingw810_64\bin (鼎鼎大名的gcc/g++,MinGW是指Minimalist GNU for Windows)
  • msvc编译器在安装了vs即可直接使用,不用配置
  • 看情况缺少什么配什么。。。

插件

  • C/C++
  • C/C++ Extension Pack
  • CMake
  • CMake Tools
  • Qt Configure
  • Qt tools

新建Qt项目

  • 配置Qt安装目录 >QtConfigure:Set Qt Dir
  • 创建Qt项目 >QtConfigure:New Project 新建项目名称、选择编译套件(msvc或mingw),选择构建工具(cmake或qmake),是否带ui文件

项目初始状态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用了cmake会自动生成CMakeLists.txt配置文件,用于编译配置。

选择编译器编译

命令 > CMake:select a kit(如果无选项可以使用Qt:Scan for Qt kit搜索,或重启vscode再搜索再选择)
每次重新编译前重新cmake select a kit 再F7,好像也不需要重新cmake select a kit!
在这里插入图片描述

如果选择编译套件mingw则用gcc
如果选择编译套件msvc则用msvc
F7编译、F5调试
在这里插入图片描述
直接运行exe
在这里插入图片描述
配置对应的编译套件环境变量,重新编译,即可直接打开exe运行程序。

  • D:\Qt\5.15.2\mingw81_64 D:\Qt\5.15.2\mingw81_64\bin
  • D:\Qt\5.15.2\msvc2019_64 D:\Qt\5.15.2\msvc2019_64\bin
    在这里插入图片描述

vscode开发Qt的四种方案

  • vscode + mingw + cmake
  • vscode + msvc + cmake
  • vscode + mingw + qmake
  • vscode + msvc + qmake

新增ui文件

打开Qt设计器新增ui文件 > QtConfigure:Open Qt Designer ,牛逼的话可以不用Designer,直接手动写ui文件代码。

有了ui文件了,对应的.cpp和.h文件怎么搞,这时候可能很多人怀念vs了,哈哈!
需要手动添加对应.cpp和.h文件重新编译会在编译目录下自动生成ui_xxx.h和moc_xxx.cpp文件(CMakeLists.txt 中配置了set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON)) .cpp和.h的格式参考使用vs开发时的代码格式,多写写就习惯了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新编译,自动生成对应ui文件的ui_xxx.h和moc_xxx.cpp文件
在这里插入图片描述
在这里插入图片描述

对应使用vs开发qt在debug目录下生成的moc、uic文件
在这里插入图片描述

新增资源文件

在这里插入图片描述
在CMakeLists.txt文件中新增资源文件配置
在这里插入图片描述
编译生成qrc_xxx.cpp资源文件
在这里插入图片描述
使用资源文件
在这里插入图片描述

新增子目录

在CMakeLists.txt文件中新增子目录配置
在这里插入图片描述
子目录下写样式管理类
在这里插入图片描述

编写样式文件
在这里插入图片描述
使用样式,样式文件已添加到资源文件
在这里插入图片描述
运行效果
在这里插入图片描述

子目录下创建ui文件
在这里插入图片描述

debug和release编译配置

在这里插入图片描述
debug
在这里插入图片描述
release
在这里插入图片描述

.editorconfig配置

官网 http://editorconfig.org
在这里插入图片描述

总结:

Qt5 + vscode + mingw + cmake
编译前准备确保安装了Qt,我使用的是Qt5.15.2
根据使用不同的编译套件配置环境变量

vscode + mingw + cmake

  • cmake(Qt安装目录\Tools\CMake_64\bin)
  • gcc compiler(Qt安装目录\Tools\mingw810_64\bin)
  • mingw kit(Qt安装目录\5.15.2\mingw81_64 Qt安装目录\5.15.2\mingw81_64\bin)

vscode + msvc + cmake

  • cmake(Qt安装目录\Tools\CMake_64\bin)
  • msvc compiler(安装了vs即可直接用,不用配置,vs版本和msvc kit需要对应)
  • msvc kit(Qt安装目录\5.15.2\msvc2019_64 Qt安装目录\5.15.2\msvc2019_64\bin)

根据使用不同的编译套件修改CMakeLists配置Qt Kit Dir
set(CMAKE_PREFIX_PATH “d:/Qt/5.15.2/mingw81_64”) 或 set(CMAKE_PREFIX_PATH “d:/Qt/5.15.2/msvc2019_64”)

编译调试
>CMake:Select a Kit (根据不同的编译套件选择gcc或msvc)
>CMake:Build 编译 (F7 生成exe,可直接运行)
>CMake:Debug 调试 (Ctrl + F5 执行调试)

其他

  • 使用VSCode开发Qt项目注意事项有待踩坑补充。
  • 到这里已经可以满足使用vscode开发单个工程的qt项目,可以再找打包工具生成安装包。
  • 如果开发多工程项目需要再研究一下cmake。
  • MSVC和MinGW的选择有待研究。

其他问题

  • QDebug无法输出问题:屏蔽掉CMakeLists add_executable WIN32配置
  • Qt 使用CMake编译时自定义控件引用问题
  • 问题来源

    在使用vs开发时Qt时,使用Qt自定义控件时,在Designer中提升对应的基类控件为自定义控件即可直接编译通过。如果使用vscode + qt + cmake + mingw 的qt开发模式,对自定义控件的使用就没那么顺利了。比如下面报错:

    报错的意思大概是编译文件下生成的ui_home中对myqscrollarea.h文件引用无效,找不到文件。编译文件的引用问题,这种应该是编译环境配置相关的。

    解决方案

    方法1:
    可以在.ui文件中直接对header标签指定路径,如myqscrollarea.h改为…/src/myqscrollarea.h。这种方法缺点就很明显了,每使用一个自定义控件都要手动去修改.ui文件对自定义控件的引用路径,就很鸡肋。

    方法2:
    使用include_directories将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。CMakeLists配置:

    参考

赞(0)
未经允许不得转载:大象juǎn » Qt 开发使用VSCode