VS中使用Qt方法详解
相信大家都知道在 Qt Creator 中可以使用 MSVC 编译工具对 Qt 项目进行编译。若有人比较习惯于使用 Visual Studio,或某些项目必须使用 Visual Studio,也可以在 Visual Studio 里创建和管理 Qt 程序项目。
要在 Visual Studio 中使用 Qt,需要安装一个 Visual Studio 的 Qt 插件,这个插件程序由 Qt 公司提供。目前最新的 Visual Studio Qt 插件是Visual Studio Add-in 2.0.0 for Qt5 MSVC 2015,可以从 Qt 官网下载并安装。
安装此插件之前,需已经安装好 Visual Studio 2015。这里省略 Visual Studio Add-in 2.0.0 for Qt5 的安装过程。在vs2019里面好像有2017插件可以安装,但是似乎不太友好。
安装完成后,在 Visual Studio 的主菜单栏上增加了一个菜单组“Qt VS Tools”,在新建项目向导里增加了可创建 Qt 项目的项目模板。
在 Visual Studio 2015 里创建一个 Qt GUI 应用程序项目。创建项目时选择项目模板的对话框如图 1 所示,选择创建 Qt GUI Application 项目,根据向导提示完成项目 Demo 的创建。

图1 在 Visual Studio 2015里创建Qt项目Demo
按照向导缺省设置创建完项目后,Visual Studio 管理项目的全部文件,有一个 Demo.ui 的 窗体文件,双击此文件,会自动使用 Qt Designer 打开窗体文件进行界面设计,如同在 Qt Creator 里设计窗体一样。
在首次使用 Visual Studio 编译 Qt 项目之前,必须先进行一些设置,否则会提示没有设置 Qt 版本,无法编译项目。

图 2 Qt Option设置对话框
首先要设置 Qt 版本。单击 Visual Studio 菜单项Qt VS Tools→Qt Options,出现如图 2 所示的对话框。Qt Versions 页面显示了可以使用的 Qt 版本(这是已经设置好的界面),在未设置 之前,框里是空白的。单击“Add”按钮出现如图 3 所示的添加 Qt 版本对话框。

图 3 添加 Qt 版本对话框
单击“Path”文本框后面的按钮,在出现的目录选择对话框里选择 Qt 5.9.1 安装目录下的 MSVC 编译器目录,如D:\Qt\Qt5.9.1\5.9.1\msvc2015_64。选择目录后,Version name 编辑框里会自动出现版本名称,可以修改此名称为意义更明显的名字,如“msvc2015-64bit”。 然后,再单击 Visual Studio 菜单项Qt VS Tools→Qt Project Settings,为项目设置 Qt 版本,出现如图 4 所示的对话框。在此对话框的 Properties 分页下的列表框里,在 Version 下拉列表框中选择某个 Qt 版本。

图 4 Qt 项目设置对话框
完成这两项设置后,再进行编译就没有问题了。项目的运行、调试等就都是 Visual Studio 的操作了,这里不再赘述。
提示,在 Qt Creator 里就可以使用 MSVC 编译器对项目进行编译,并不是只有在 Visual Studio 里才可以使用 MSVC 编译器编译 Qt 的项目。根据个人开发习惯,可使用不同的编译工具。
VS中使用Qt方法详解的更多相关文章
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)
Python 在子类中调用父类方法详解(单继承.多层继承.多重继承) by:授客 QQ:1033553122 测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...
- Python中格式化format()方法详解
Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参 ...
- (转)shell中test命令方法详解
test命令用法.功能:检查文件和比较值 shell中test命令方法详解 原文:https://www.cnblogs.com/guanyf/p/7553940.html 1)判断表达式 if te ...
- 关于 redux-saga 中 take 使用方法详解
本文介绍了关于redux-saga中take使用方法详解,分享给大家,具体如下: 带来一个自己研究好久的API使用方法. redux-saga中effect中take这个API使用方式,用的多的是ca ...
- JavaScript中数组Array方法详解
ECMAScript 3在Array.prototype中定义了一些很有用的操作数组的函数,这意味着这些函数作为任何数组的方法都是可用的. 1.Array.join()方法 Array.join()方 ...
- jquery中的ajax方法详解
定义和用法ajax() 方法通过 HTTP 请求加载远程数据.该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XML ...
- Laravel框架中的make方法详解
为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...
- js中Array对象方法详解
操作方法:concat() slice() splice() concat()方法可以基于当前数组中的所有项创建一个新数组.具体来说,这个方法会创建当前数组一个副本,将接收到参数添加到副本的末尾,最后 ...
- iOS中--NSArray调用方法详解 (李洪强)
下面的例子以 NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"to ...
随机推荐
- 【YashanDB知识库】ycm纳管主机安装YCM-AGENT时报错“任务提交失败,无法连接主机”
问题现象 执行安装ycm-agent命令纳管主机时报错 问题的风险及影响 会导致ycm-agent纳管不成功,YCM无法监控主机和数据库 问题影响的版本 yashandb-cloud-manager- ...
- RocketMQ 下载安装及消息发送
消息队列前文目录链接参考: 消息队列初见:一起聊聊引入系统mq 之后的问题https://www.cnblogs.com/yizhiamumu/p/16573472.html 分布式事务实战方案汇总 ...
- Unity 中 Color 与 Color32 的区别
1. 存储方式 Color用四个浮点数(float)来表示RGBA,取值范围均是0到1 举例: var orange = new Color(1f, 0.5f, 0f, 1f); 而Color32使用 ...
- Angular 18+ 高级教程 – Component 组件 の Query Elements
前言 Angular 是 MVVM 框架. MVVM 的宗旨是 "不要直接操作 DOM". 在 Component 组件 の Template Binding Syntax 文章中 ...
- Mininet安装记录
安装环境: Ubuntu虚拟机版本:14.04 Mininet版本:2.3.1b1 1.更改软件镜像源 在设置中进行如下操作: 选择国内的镜像站点,如阿里云. 点击关闭后,在弹出的窗口中点击重新载入, ...
- MySQL及navicat安装破解
一.Navicat Premium15 下载安装包和破解工具 1.Navicat官网下载地址:http://www.navicat.com.cn/download/navicat-premium 2. ...
- [OI] 二项式期望 DP
OSU OSU yet Another OSU yet yet Another OSU OSU 的题目是这样的:有一些相邻的块,给定每一个块的联通概率,每个连通块对答案有 \(size^{3}\) 的 ...
- 关于 CLOI 头像&博客主题征集
是这样的,开了一个新号准备做一个官号,当作一个公告栏(?),大家访问博客或者看消息也方便 现在苦于脑袋比较笨,想不出头像来,有意者可以帮设计下 此外,还(选择性地)需要一个博客主题,主要是简洁,打开会 ...
- 基于Keras-YOLO实现目标检测
Keras-YOLO 3项目使用Python语言实现了YOLO v3网络模型,并且可以导入Darknet网络预先训练好的权重文件信息直接使用网络进行目标识别. 1. 下载Keras-YOLO 3项目 ...
- 高通Perflock
高通的Perflock是Qualcomm公司开发的一项技术,用于优化设备性能和功耗管理.Perflock是一种锁定机制,允许操作系统或应用程序在需要时对处理器的性能状态进行控制,从而确保在关键任务或高 ...