今天有空下了Qt最新版本,因为编译要用很长时间,我就挂着让它自己编译,但是到后来才发现用VS编译还不如自带的IDE,虽然功能很少,但也五脏俱全,调试什么的都还不错,Qt是C++的开发框架,可以支持Windows,Linux等平台,也可以开发WinCE,我记得我是两年前用的这个框架,当时这个框架的文章并不是很完全,而且SDK也并不是那么好,所以就没有继续使用了。最近想用C++做点东西,所以就用Qt这个框架。
总体来说Qt这个框架还是很不错的,编写代码的时候非常简单,写起来和C#差不多的,例如读写文件,我们用C++其实是很麻烦的,但是用Qt的话就简单多了,可以看看下面的代码。
#include <QtCore/QCoreApplication>
#include <QDebug>
#include <QString>
#include <QFile> int main(int argc, char *argv[])
{
//窗体的初始化
QCoreApplication a(argc, argv);
//Qt框架提供的类,类名和文件名一样
QString str = "this is a test";
QFile file("E:\\eula.1028.txt");
{
QTextStream stream(&file);
while(!stream.atEnd())
{
QString tempStr = stream.readLine();
qDebug() << tempStr;
}
}
}
#include <QDebug>
#include <QString>
#include <QFile> int main(int argc, char *argv[])
{
//窗体的初始化
QCoreApplication a(argc, argv);
//Qt框架提供的类,类名和文件名一样
QString str = "this is a test";
QFile file("E:\\eula.1028.txt");
if(file.open(QIODevice::ReadOnly|QIODevice::Text))
{
QTextStream stream(&file);
while(!stream.atEnd())
{
QString tempStr = stream.readLine();
qDebug() << tempStr;
}
}
return a.exec();
}
我们可以看到代码和C#很像,而且文档也很齐全,直接到这里就可以看到所有的类,并且可以很快的查询,在数据类型上面,也比C++要多很多,所以开发人员不用再忙着数据类型的转换以及考虑过多的内存泄露等问题了。
不过用C++还是要注意在不用该对象的时候,析构一下这个对象,免得对象多了内存泄露啥的就很头疼了。

另外,Qt还支持很多框架,所以喜欢做游戏,数据库开发,脚本开发,网页开发,单元测试的也可以使用Qt框架。总体来说Qt还是不错,做可移植性的桌面应用还是很不错的。
只是很可惜的是,Qt的性能并不是那么好,就是这段代码,在C#中,用ReadLine方法读1G的文件只要17秒,还是我的破机器上面,但是用Qt做却要3分钟,性能差了不是一点点啊,都是ReadLine,怎么差别这么大呢。本来还想用Qt在比赛中投机取巧的。。哎。。看来是不行了。。所以我还是觉得,微软在基础研究和学习上面还是做的很不错的,当然,google也很不错,开源社区在这方面还是有一点距离的。