存档

文章标签 ‘helloworld’

Qt学习笔记_Chapter1_1HelloQt

2010年1月6日 mousefire 没有评论

  Windows7下程序运行效果图:

image 

  学习的每一步总是HelloWorld,Qt4.6直接推出了VS2008的Binary包,大大方便了我的学习,现在可以像写一般的MFC程序一样在VS集成环境中编写Qt程序了,Qt中的HelloWorld程序如下:

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

Line1,2:对于每个Qt类,都有一个与该类同名(且大写)的头文件,在这个头文件中包括了对该类的定义。

Line5:创建了一个Qapplication对象,用来管理整个应用程序所用到的资源。Qt支持它自己的一些命令行参数,所以这里同样有argc,argv作为参数。

Line6:创建了一个QLabel Widget,这里的Widget相当于VC中的控件,Qt十分灵活,任意窗口部件(Widget)都可以作为窗口,这里就使用了一个Qlabel作为窗口。另外可以看到,通过使用一些简单的HTML样式格式,可以轻松地把Qt应用程序的用户接口变得更为丰富多彩。

Line8:使QLabel可见,默认隐藏是为了便于我们先进行设置然后再显示它们,从而避免了窗口部件的闪烁现象。

Line9:将应用程序的控制权传递给Qt。此时,程序会进入事件循环状态,这是一种等待模式,程序会等候用户的动作,例如鼠标单击和按键等操作。

BTW:在这个程序中没有过多关注在main()函数末尾处对QLabel对象的delete操作调用。在如此短小的程序内,这样一点内存泄漏(memory leak)问题无关大局,因为在程序结束时,这部分内存是可以由操作系统重新回收的。

分类: Qt学习笔记 标签: ,