早就听说qt可以集成到VS中,就是一直没尝试过。一直在使用qt creator,也没觉得它有什么不好。可最近VS用多了,我发现一个qt creator中很不好的毛病,就是代码自动完成时,creator要程序员敲enter;而VS只需按下空格键。可别小看这小小区别,对于习惯于五笔打字姿势的我而言,按空格可真是方便多了。于是这会儿才想把qt集成到VS中,当作练习练习。

查了网上很多教程,发现很多人选择用VS去编译qt源码,一个nmake下去就得要4,6个小时,最后还不一定成,中间还这么多问题,我实在不太想这么搞。于是去仔细查看官方下载软件包,发现在win32平台上有两种区分:mingw和msvc,且都是exe文件,名字差不多是:qt-windows-opensource-5.1.0-msvc2010-x86-offline.exe。这不就是与VS2010有关系的qt库嘛,何不先用用它再说呢?当然,还得下一个插件:qt-vs-addin-1.2.2-opensource.exe,安了它之后,VS才会多出一个Qt5菜单;另外,为了能让QT代码在VS中自动完成,还需安装VassistX,相信用过VS的应该都知道它吧。

下载地址:http://qt-project.org/downloads

下载安装qt-windows-opensource-5.1.0-msvc2010-x86-offline.exe后,你会发现它帮你把新版本的qt creator等软件都给安了;

下载安装qt-vs-addin-1.2.2-opensource.exe,VS中的qt菜单如下图:

在上图的Qt Options中加入Qt5的库路径,也就是msvc2010的安装路径,我的是:D:\Qt5.1.0\5.1.0\msvc2010;

安装VAssistX破解版后,在VAssistX菜单的option下添加qt5的头文件路径,以使能自动完成:

好。现在写一个经典的helloworld:(由于新建项目时,没有空项目模板,所以就选择”控制台“模板,其实与空模板没什么两样)

[cpp] view plaincopyprint?

  1. #include <QtWidgets/QApplication>
  2. #include <QtWidgets/QLabel>
  3. int main(int argc, char *argv[])
  4. {
  5. QApplication app(argc,argv);
  6. QLabel *lbl = new QLabel("<h2><font color=red>Qt5</font></h2>");
  7. lbl->show();
  8. return app.exec();
  9. }

注意:我发现qt5与qt4的头文件路径有了不同,如果头文件路径写错,编译器就会报“not found"的错误

打开项目--属性对话框,要进行一些设置才能编译链接成功:

(我的附加依赖项中,缺少Qt5Guid.lib和Qt5Widgetsd.lib)

最后运行得:

很遗憾,我以为qt代码在VS中自动完成是按空格的,没想到还是按enter,有点无语。。

总之,算是基本成了。我发现环境变量QTDIR应该是要设置的,好像VS已经帮我设置了;如果你的没有,也许需要你自己设置了。

最新文章

  1. Oracle 11.2.0.4 RAC安装最新PSU补丁
  2. Microsoft.Office.Interop.Excel操作Excel文件时出现的问题及解决方案
  3. JSON.stringify的使用方法
  4. sprint演示
  5. UVA 10779 (最大流)
  6. unity, 由5.2.1f1升级到5.3.5f1,2d物理不正常解法
  7. viewpage广告条的制作
  8. [三分]HDOJ 5531 Rebuild
  9. 【Java】Web 服务编程技巧与窍门: 在 UDDI 注册中心为 Web 服务注册开发 UDDI Java 应用程序
  10. 深入懂得android view 生命周期
  11. MarkDown使用 (一)
  12. address_space 从哪里来
  13. 开机启动遇到grub rescue,无法启动系统解决方法
  14. Unity3d—做一个年月日选择器(Scroll Rect拖动效果优化)— 无限滚动 + 锁定元素
  15. 漫画:什么是HTTPS?
  16. python迭代和解析(3):range、map、zip、filter和reduce函数
  17. HashMap为什么存取效率那么高?
  18. amqp 和 exchange 详细解释
  19. 关于oracle的sqlplus显示不完全的修改方法
  20. 如何创建一个Quartz.NET的工作,需要注射autofac

热门文章

  1. Python运维开发基础10-函数基础
  2. vs2010下载Microsoft Visual Studio 2010 Express(vs2010中文版下载)速成官方合集正式版
  3. Windows phone 自定义控件(无外观控件)——ColorPicker
  4. 7-将本地的javaweb项目部署到Linux服务器的一般操作
  5. js Array Map and Set
  6. snowflake自增ID算法 (PHP版)
  7. Golang之定义错误(errors)
  8. c3p0数据源配置
  9. NGS的duplicate的问题
  10. p3412 [POI2005]SKO-Knights