前言

刚接触Qt开发时,大多数同学的第一行Qt代码是在Qt Creator中写下的。

众所周知,Qt Creator是Qt官方提供的Qt集成开发环境1,提供了对Qt应用开发的全过程支持。也就是说,使用Qt Creator做Qt开发是完全够用的。不管是在Windows系统、Linux系统、苹果MAC系统,都可以使用Qt Creator来开发应用程序。

以Windows系为例,既然使用Qt Creator能够胜任开发工作,那么为什么还要使用Visual Studio(简称VS)呢?主要有两个原因:

  1. 有很多开发者最开始接触的开发环境是Visual Studio(如VC,VS系列),所以对VS比较熟悉,对于这些开发者来说,仍然可以使用VS来开发Qt。这就为这些开发者提供了巨大的方便,降低了学习成本。
  2. Qt Creator在某些功能或性能上不如Visual Studio,比如调试性能以及调试的稳定性,Visual Studio确实会比Qt Creator更好,对于对这些方面要求比较高的开发者来说,可以使用Visual Studio来作为备用方案。一般来说,大的项目会出现上述问题,中小项目较少遇到。

同样的问题反过来问,既然Visual Studio能够胜任开发工作,为什么还要使用Qt Creator呢?有以下几点原因:

  1. Qt Creator是跨平台的开发环境,而VS只支持Windows系统。例如,如果某一天你需要在Linux上开发一个软件,VS没法用,只能用Qt Creator了。
  2. 如果你想要长期从事Qt方面的开发的话,作为一名合格的Qt工程师,掌握Qt Creator应该是必备技能。
  3. VS相对来说很复杂,很多界面上的操作初学者很难理解。Qt Creator相比于VS,交互界面设计方面,更加简化,配置项更少,学习难度相对较低。

综上,使用Qt Creator和VS进行Qt开发都是作为Qt工程师要掌握的技能,但是初学时,我们应该从使学习成本更小角度考虑,选择一个更适合自己的开发环境开展对Qt的学习。

下面开始介绍两种集成开发环境的使用攻略。

如何使用Qt Creator进行Qt开发

首先需要下载安装Qt。具体过程可以查看另一篇文章《Windows上安装Qt》。

安装Qt时,Qt会自动安装Qt Creator。安装好Qt后,就可以使用Qt Creator新建项目进行开发了,一般不需要做其他的配置即可使用。

如何使用Visual Studio进行Qt开发

使用Visual Studi进行Qt开发需要安装VS的Qt开发插件qt-vs-addin。需要明确的是,这个插件是作用于Visual Studio的,安装此插件以后,Visual Studio会自动加载这个插件。

此插件可以在官网下载:下面给出下载地址:
https://download.qt.io/archive/vsaddin/

安装好qt-vs-addin,就可以在VS中进行Qt开发了。

下面以Win10下的VS2013为例,作出演示。

添加Qt版本

选择菜单Qt VS Tools->Qt Options

弹出Qt版本配置对话框:

点击Add按钮添加Qt安装路径即可。

新建项目

下面演示如何在VS中新建Qt项目:

  • 选择菜单,新建项目:

  • 弹出以下对话框:

    填写下方的项目名称、存储位置、解决方案名称。之后点击“确定”按钮。

  • 下面需要配置Qt版本、目标平台、需要使用的Qt模块等信息:

    下面编辑主窗口类名、文件名等:

    点击“Finish”结束创建过程。创建好的Qt项目如下图所示:

  • 生成->调试结果如下:

如何将Qt项目转为VS项目

为什么需要把Qt项目转为VS项目呢?通常在工作中会遇到以下问题:

  1. 有一些编译选项,Qt中不好配置,只能转到VS中进行配置。如设置UAC执行级别、设置目标工具集等。
  2. Qt编译出的软件发布时无法运行。
  3. 项目硬性要求,将已有项目从Qt迁移到VS。

这时候,我们就可以使用Qt VS Tools中的“Open Qt Project File”功能来打开已有的Qt项目。如下图所示:

打开后的项目如下图所示:

只需要简单几步,就可以把Qt项目转为VS项目。

结语

如果同学们在参照上述过程操作时遇到问题,可以求助百度、谷歌。下面是常见问题的解决方法:

  • error MSB4175: 未能从程序集“C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Build.Tasks.v12.0.dll”加载任务工厂

最近创建了一个公众号,定期写写文章,主要是Qt相关。如果您觉得文章有用,可以关注一下。


  1. 这里对集成开发环境做一个简单介绍。
    我们在开发一个软件时,首先需要一个代码编辑器,用来编写需要计算机执行的代码。代码编写完成后,需要使用编译工具链将代码通过预处理、编译、汇编、链接生成可执行程序。其中每一个处理步骤都至少有一个工具来完成这个阶段的任务。
    集成开发环境就是为了把生成程序的整个过程需要用到的工具及步骤,集成到一个应用程序之中,进行自动化处理,减少开发人员的负担。除此之外还会提供一些用于提高开发效率、进行项目管理等目的实用工具,如:版本管理工具、部署工具、帮助文档工具、自动化测试工具等。
    常见的集成开发环境,除Qt Creator外,在Windows上,有Windows的亲儿子Visual Studio;Linux上,有很多开源的集成开发环境,如Code::BlocksEclipse CDTVSCode 等等,当然也包括Qt;在MAC上,有XCode。 ↩︎

Qt Creator和Visual Studio双环境开发技能攻略相关推荐

  1. 【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG )

    文章目录 Visual Studio 2019 社区版 CMakeList 开发环境安装 创建 FFMPEG 配置项目 FFMPEG 开发包下载 FFMPEG 头文件 静态链接库 ( .lib ) 动 ...

  2. Visual SourceSafe 2005(VSS2005)与Visual Studio 2005的开发环境搭建

    Visual SourceSafe 2005(VSS2005)与Visual Studio 2005的开发环境搭建 文章来源(WEB开发技术知识库): http://cn-web.com/cnweb/ ...

  3. 多版本Visual Studio 集成环境下的WCF 开发-服务库默认配置表

    多版本Visual Studio 集成环境下的WCF 开发-服务库默认配置表 Visual Studio2008 Visual Studio2008只有服务库,而没有服务应用程序,其服务库生成配置文件 ...

  4. visual studio .net 2003开发环境搭建

    visual studio .net 2003开发环境搭建 引言 事情的起因是某课程的实验要求开发兼容windows ce和pocket pc的应用程序,并使用模拟器演示. 由于开发环境过于远古,相关 ...

  5. Qt creator工程项目移植时因环境变换造成qmake错误的解决方案

    1.问题描述:移植从他机上的qt工程项目,打开时提示: Qt Creator找到了一个由其他开发环境创建的设置文件,或许是来自于其他机器的.用户设置文件包含了特定的环境设定,它不应当被复制到其他应用环 ...

  6. ASP.NET 4 和 Visual Studio 2010 Web 开发概述

    声明:本文是ASP.NET 白皮书 ASP.NET 4 and Visual Studio 2010 Web Development Overview 的阅读摘要,只是本人的学习记录,并非完整翻译,仅 ...

  7. Visual Studio 2008 环境变量的配置(参考设置VS2010)

    本文转载自:http://blog.csdn.net/tracyliang223/article/details/21539361 COPY FROM:http://www.cnblogs.com/w ...

  8. 从头开始学eShopOnContainers——Visual Studio 2017环境配置

    一.安装和配置Docker环境 1.安装Docker CE for Windows 从官方网站下载并安装,https://docs.docker.com/docker-for-windows/inst ...

  9. Visual Studio 插件的开发

    Visual Studio 插件的开发 起因 在做项目的时候,经常需要根据表结构create一些实体类,写多了,实在是觉得无趣,于是就琢磨着做个代码生成工具.当然现在有很多现成的,拿来用就好,可是总想 ...

最新文章

  1. 2019年值得关注的八大DevOps趋势
  2. 模块简介/模块的导入/模块的查找顺序/绝对导入和相对导入/软件开发目录规范...
  3. python文本聚类 词云图_文本挖掘:避孕药主题情感分析
  4. 怎样把php网站转为h5,【php】php如何把网页中的一部分生成.jpg
  5. English Grammar
  6. OSGI嵌入tomcat应用服务器(gem-web)——资源下载
  7. leetcode_53 Maximum Subarray
  8. 能源管理系统—能源在线监测平台搭建
  9. 瘦AP如何连接到无线控制器AC
  10. libcef-常用概念-框架特点
  11. salt returner mysql_saltstack实战2--远程执行之返回(returner)
  12. js 图片类型mage/jpeg, image/bmp, image/gif ,image/png
  13. 什么是SDK? SDK是什么意思?(转)
  14. mysql Incorrect string value \xF0\x9F\x98\x84\xF0\x9F
  15. ssd的smt_SMT 工厂基础参数要求
  16. 图论3之图的最短路径算法
  17. 总结下花了大约半年的时间从零开始的unity游戏开发(1)
  18. windows下修改黑苹果config_黑苹果家用PC安装苹果Mac OS操作系统经验(下)工具和资源...
  19. 诺基亚5800XM触控音乐全解析
  20. android 应用层shell,如何让Android系统或Android应用执行shell脚本

热门文章

  1. 微信 小程序 常见错误
  2. TCP 连接中的TIME_WAIT
  3. java web开发基础学习
  4. [Linux]Ubuntu 以管理员权限打开文件夹
  5. java 强制向上转型,Java 转型(向上或向下转型)详解及简单实例
  6. python apscheduler 脚本 动态_用apscheduler写python定时脚本
  7. 289B. Polo the Penguin and Matrix
  8. controller调用controller的方法_SpringCloud(5):Feign整合Ribbon和Hystrix来进行远程调用与服务熔断...
  9. QComboBox 样式设置
  10. 冠榕智能灯光控制协议分析(controller-node) 2