一、安装qt软件:
( 如果使用的是Qt源码,则用该方法编译,步骤参考http://www.cnblogs.com/elect-fans/archive/2012/03/25/2416997.html
否则直接下载qt-win-opensource-4.8.2-vs2010.exe文件并安装,该文件已编译过了,装完后可以直接使用。本人后面还是采用后面这种方法)
听说qt做界面很好,易学,而opencv的界面支持又太简单了,所以打算以后就用qt做cv软件方面的界面,而是就打算学习下qt了。
因为在windows下用vs比较多,经过一番查找资料后有2种方法可以将vs和qt结合起来用。1. 直接用qt的sdk,里面有编译好了的针对vs的库,然后转个qt的qt-vs-addin即可,这个sdk功能强大,有自己的ide和编译工具qtcreator,当然也可以选择ws的vs。2. 只装qt的library for vs库,然后用vs进行编译该库,据说大概要4个小时。当然在第一种情况下装了sdk后也可以用vs重新编译。
由于以前没有编译过类似的开源库,所以想动手自己编译,又追求功能更全的,所以下了个qtsdk最新版本,可惜安装的过程就碰到了杯具。一开始是online安装的,出现了如下的错误提示:
当时没怎么注意,retry当然不行,而是ignore,ignore完后是可以安装成功,可是在开始菜单的qt下没有demos一项,据说成功装完后是应该有这项的,并且我到安装目录下打开demo,有些demo可以运行,但是有些不能运行。而是一气之下把qt给卸载了。
重新online安装一次,抱着侥幸的心态希望不要出现类似的警告,不料还是一样的。
网上还有不少人碰到了这种情况,可惜查找了很多中外论坛,没有一个满意的答案。
后面实在没办法,浪费了整个白天了,而是有下载了个offline的sdk,可是安装过程依旧是类似的过程。没法只好先ignore了,反正只是警告而已。将就着用。
本想用vs下的configure配置好编译一下的,可是出现了说congiure命令是无效命令。
算了还是不编译直接用吧。
二、在装好了qtsdk和qt-vsaddin后,就开始用vs2010建立qt工程了。
建立工程时点击finish时出现错误提示:
解决方法:From Visual Studio -
Qt -> Qt Options -> select Qt Versions tab
Click Add
Under 'Version name', just write anything you wish to name here
Then Click the elipse button under 'Path' and navigate to Qt version you have on computer.
如下图所示:
其中我的路径为:C:\QtSDK\Desktop\Qt\4.8.1\msvc2010。
这样建立工程是没问题了,采用建立后的默认最小工程编译了一下,出现如下错误提示:
看提示又2个问号”??”,估计是中文名字吧,因为我把工程建立在桌面上,而是重新建立了个英文路径下的工程,编译后成功了,运行也ok。
可是后面发现单独打开工程下的.exe文件时出现如下所示的提示:
估计是没有配置环境变量,而是配置了PATH环境变量,添加了一个目录C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin 这个时候单独运行.exe就ok了。
三、下面就是体验下qt最简单的应用,hello world了。
在mian函数中输入下面的代码:
1 #include "qqt.h" 2 #include <QtGui/QApplication> 3 #include <QLabel> 4 5 int main(int argc, char *argv[]) 6 { 7 QApplication a(argc, argv); 8 QLabel *label=new QLabel("<h2><i>Hello </i>""<font color=red>world!</font></h2>");//create a label with the content "Hello world!" 9 label->show(); 10 return a.exec(); 11 }
编译运行后结果为:
OK,总算证明在vs下qt是可以工作的,以后界面的事慢慢来弄。
后续1:
后面想查看qt的帮助文件,启动了assistant程序,可是却显示无法定位******NetWork4.dll,如下图所示,可是我正想用qt来做网络方面的工作。在网上找了很多方法,比如说覆盖bin目录下的dll文件,添加环境变量等等均无效。看来重新装和编译把。