前言
main()函数相关内容:
代码如下:
#include "dialog.h" //(a)
#include < QApplication > //(b)
int main(int argc, char *argv[]) //(c)
{
QApplication a(argc, argv); //(d)
Dialog w; //创建一个对话框对象
w.show(); //(e)
return a.exec(); //(f)
}
一、详细介绍
( a ) #include “dialog.h” : 包含了程序中要完成功能的Dialog类的定义,在Dialog类中封装完成所需要的功能。
( b ) #include < QApplication >: Application类的定义。在每个使用QT图形化应用程序中都必须使用一个QApplication对象。QApplication管理了各种各样的图形化应用程序的广泛资源、基本设置、控制流及事件处理等。
( c ) int main(int argc, char *argv[]) : 应用程序的入口,main()函数只需要在将控制转交给Qt库之前执行初始化,然后Qt库通过事件向程序告知用户的行为。main()函数有两个参数,argc是命令行变量的数量,argv是命令行变量的数组。
( d ) QApplication a(argc, argv) : a是这个程序的QApplication对象。在任何Qt的窗口系统部件被使用之前必须创建QApplication对象。它在这里被创建并处理这些命令行变量。所有被Qt识别的命令行参数都将从argv中被移去,argc也因此减少。
( e ) w.show() : 当创建一个窗口部件的时候,默认它是不可见的,必须调用show()函数使它可见。
( f ) return a.exec() : 程序进入消息循环,等待可能的输入进行响应。这里就是main()函数将控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时候,exec()函数的值就会返回。在exec()函数中,Qt接收并处理用户和系统的事件并且将他们传递给适当的窗口部件。
二、其他
Q_OBJECT 宏的作用:启动Qt5元对象系统的一些特性(如信号和槽等),必须放置到类定义的私有区中。