QT for hello world
2011-07-12 16:40
525 查看
今天,一个朋友让我把hello world 这个程序贴到网上,意外有点儿收获,贴出来大家分享分享。#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel *gao = new QLabel("<h2><i>hello</i>" " <i><font color = green>world</font><h2></i>");
gao->show();
delete gao; //be careful
return a.exec();
}
通过这一个简单的程序,我有这么几点心得。
1.每一个QT类,都有一个与该类同名(Q和首字母都大写)的头文,为什么前面加q而不加其他的字母呢,据说是因为Q的大写在LINUX下面显示出比较好看;
2.QApplication 对象是用来管理整个应用程序所用到的资源,构造函数可以接受命令行参数;
3.QLabel 对象是一个widget,在QT中游许多这样的类例如QPushButton,QSlider,QSpinBox等等;
4.QLabel 对象的构造函数可以传HTML样式字符串,用来改变窗口文字的样式;
5.关于 delete gao这句代码的调用,本人认为完全可以不写,因为在调用show()方法后,你将此程序指针gao指向的对象的内存释放,窗口就会消失,只是闪烁一下,delete的只是一个label而已,但是程序还以进程的方式被OS调用,那么,会导致你错觉的认为程序已经结束,这样就会导致不明不白的内存泄露,建议不写,等到你在窗口上点击关闭按钮时,renturn 代码被执行,返回给OS 正确的参数,OS销毁此进程,内存不会泄露。
看上面hello 进程,这就是结果,导致不能删除等问题
相关文章推荐
- QT for Android HelloWorld.apk!耶
- QT for Android HelloWorld实现
- [VC C++ wxWidget GUI] wxHelloWorld for console出世~
- 我的第一个Qt程序:使用Qt creator和Qt designer完成"HelloWorld"和计算圆面积的程序设计
- 1031. Hello World for U
- 2012年浙大:Hello World for U
- Bullet HelloWorld For Visual Studio 2008
- 1031. Hello World for U (20)
- 1464 Hello World for U 九度Online Judge
- My First HelloWorld Module for Apache~
- Windows下qt的环境配置及运行一个c++"hello world"实例详细步骤
- 1031. Hello World for U (20)
- 九度oj-1464-Hello World for U
- 九度OJ 1464 Hello World for U
- 1031. Hello World for U
- HelloWorldForU ---九度Online Judge
- 1031. Hello World for U (20)
- Qt Creator Qt创造者------HelloWorld Qt
- 1031. Hello World for U (20)
- 题目1464:Hello World for U