Qt Creator和Visual Studio双环境开发技能攻略

前言

刚接触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。 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大疆无人机高程不准_大疆消费级无人机快速倾斜摄影测量实践

摘要:分别用 RTK两种测量模式测定像控点,用大疆消费级无人机 Phantom4PRO 开展倾斜摄影测量,最后进行成果检验。结果表明:RTK 电台模式(不做坐标校正,精度低)、RTK-CORS 网络模式测定像控点都能…

【转】CLR Profiler 性能分析工具 (转)

最近关注程序性能的优化方面,本想写篇CLRProfiler的简要文档,看到pengpeng已写好,那就转载好了,偷偷懒。 .Net的尽管拥有非常强大调试器,但也有很多局限性,只限于CLR之上,无法得到CLR的具体细节…

魔百盒哪款型号配置高_松下负离子吹风机怎么样哪款好?推荐型号?2020年9月松下负离子电吹风选购攻略...

先说结论,方便时间不多的朋友,松下(panasonic)负离子吹风机怎么样哪款好?推荐型号?1、EH-ENE2-A405——松下(panasonic)负离子电吹风机推荐EH-ENE2-A405。带负离子功能,1…

【转】WebAPI ASP.Net 发布部署中常见的两个错误未能找到 CodeDom未能加载System.Web.WebPages.Razor

未能加载文件或程序集“System.Web.WebPages.Razor, Version3.0.0.0, Culturene 未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft... 在包管理器中异常安装包MVC5 及 CodeDom,重新编译部署即可…

QSplitter设置宽高比例的正确方法

问题 实际开发中,需要经常调整QSplitter中子窗口的宽度/高度比例。对水平QSplitter来说,是宽度比例;对垂直QSplitter来说,是高度比例。下面以水平QSplitter为例说明。 我们首先应该会想起看看QSplitter是不是有设置比例的函数。…

我要回家软件_工具用的好,下班回家早,推荐几个堪称神器的高效率软件

工具用的好,下班回家早,别人已经早早下班,你还在哼哧哼哧的加班,有时候并不是你比别人慢,而是你没有找到提高工作效率的工具呀,我这次推荐几个堪称神器的高效率软件工具,也许能极大的提高你的工…

【转】带你玩转Visual Studio——01.开篇介绍

开篇之前,先唠叨几句 本人从事C开发工作一年半,总想就C开发方面写点东西。写什么呢?想了一下还是写点跟开发密切相关的吧,要说跟开发最密切相关的那莫过于就是开发工具了,也就是常常说的集成开发环境(IDE)。 这一年多…

丢失模式不联网有用吗_用眼过度,打开手机“护眼模式”真的有用吗?

现如今,人们越来越离不开手机,用手机办公或者用手机娱乐,因疫情在家学习的学生们,都需要通过手机来进行学习,深夜剁手的你是不是也躲在被子里,一遍又一遍地刷新着消息,入睡前的最后一件事是关掉…

【基础】Qt-VS调试器下载与配置

前言 因为MSVC版的Qt不自带调试器,所以在Windows上使用MSVC版的Qt进行开发时,需要配置调试器。 本文讲解了在Windows下,下载和配置MSVC版Qt调试器的过程,并给出下载地址。 调试器选择 下表列出了不同平台下的调试器选择方案&am…

【转】带你玩转Visual Studio——02.带你新建一个工程

接着上一篇文章带你玩转Visual Studio——开篇介绍继续讲这个主题&#xff0c;现在我们从创建一个新的工程开始。 一步一步创建项目 依次选择菜单&#xff1a;File\New\Project&#xff0c;打开New Project对话框。<1>.选择项目类型&#xff1a;Win32 Console Applicat…

【必知必会】pro文件及常用配置

前言 笔者在工作中了解到&#xff0c;有部分同学对Qt的项目文件&#xff0c;即.pro文件的基本配置编写不是很了解。作为一名Qt工程师&#xff0c;.pro文件的编写也是必会的技能&#xff0c;本文对此进行一个讲解&#xff0c;并将相关资料做一个汇总。 .pro文件的介绍 .pro文…

stm32烧录软件_stm32怎么烧录程序

STM32烧录程序目前笔者知道的有三种&#xff1a;JLink &#xff0c;Ulink和串口烧录&#xff0c;使用工具分别为&#xff1a;JLink&#xff0c;ULink以及USB转TTL线。ULink 烧录程序在安装MDK过程中&#xff0c;会有提示是否安装驱动&#xff0c;该驱动就为ULink驱动&#xff0…

【探究】信号槽到底能不能有返回值?

【探究】信号槽到底能不能有返回值&#xff1f; 前言 Qt信号槽到底可不可以有返回值呢&#xff1f;问了下身边的同事&#xff0c;有的人说可以&#xff0c;有的人说不可以。在实际项目中&#xff0c;确实没看到过有人使用带返回值的信号槽&#xff0c;可以说存在感很低。平时…

【转】第01课:生活中的监听模式——一坑爹的热水器

用程序来模拟生活从剧情中思考监听模式 监听模式监听模式的模型抽象 代码框架类图基于框架的实现模型说明 设计要点推模型和拉模型应用场景 【故事剧情】 刚刚大学毕业的 Tony 只身来到北京这个硕大的城市&#xff0c;开始了北漂的生活。但刚刚毕业的他身无绝技、包无分文&…

【经验】Qt项目开发必备工具

在实际的项目中&#xff0c;除了需要掌握Qt开发框架本身&#xff0c;还需要掌握一些开发工具。这些工具能起到事半功倍的效果&#xff0c;甚至某些工具是开发不可或缺的。下面笔者就介绍一些常用的开发工具的用法及下载地址&#xff0c;希望对缺少实际项目经验的同学提供一些参…

【转】TCP/IP协议--TCP的超时和重传

TCP是可靠传输。可靠之一体现在收到数据后&#xff0c;返回去一个确认。但是不能完全避免的是&#xff0c;数据和确认都可能丢失。解决这个办法就是&#xff0c;提供一个发送的重传定时器&#xff1a;如果定时器溢出时还没收到确认&#xff0c;它就重传这个报文段。 想法是完美…

mysql集群方案对比_MySQL云原生方案在携程开发测试场景中的实践

一、背景与使用场景随着Kubernetes平台在容器云计算领域的一统天下&#xff0c;云原生 (Cloud Native) 一词也被提的越来越频繁。各类应用纷纷走上了容器化、云原生化的道路&#xff0c;无状态服务应用在Kubernetes平台上的运行&#xff0c;已经得到了大规模生产级别的实践认可…

vb.net datagridview数据批量导入sql_【自学C#】|| 笔记 44 ComboBox:组合框控件数据绑定...

一、ComboBox&#xff1a;组合框控件数据绑定在 Windows 应用程序中很多控件都提供了 DataSource 属性&#xff0c;并将 DataSet 或 DataTable 的值直接赋给该属性&#xff0c;这样在控件中即可显示从数据库中查询出来的数据。 常用的数据绑定控件有文本框(TextBox)、标签(L…

【转】C#Socket编程详解(一)TCP与UDP简介

一、TCP与UDP 1、TCP 1.1 定义 TCP&#xff08;TransmissionControl Protocol&#xff09;传输控制协议。 是一种可靠的、面向连接的协议&#xff08;eg:打电话&#xff09;、传输效率低全双工通信&#xff08;发送缓存&接收缓存&#xff09;、面向字节流。使用TCP的应…

【精华】掌握Qt调试技术

前言 软件调试&#xff0c;是开发过程中必备的技能。通过调试可以发现软件存在的bug&#xff0c;即缺陷。调试可以帮助开发者窥探到软件运行过程中的详细状态&#xff0c;从而为消除bug提供重要信息。调试的英文是debug&#xff0c;前面的de在英文中表示“反对”&#xff0c;“…