如何不在main函数中访问Qapplication

在学习qt的过程中,我们会慢慢的将主要代码在main函数外开发,这时可能会遇见不知道如何访问Qapplication的情况。比如,我们创建了MyWidget类,并在其中添加了一个按钮,我们希望按下这个按钮时,能退出这个程序。假设Qapplication我们叫a。以下代码是不行的:

extrern Qapplication a;
......
QPushButton* quit_button;
Qobject::connect(quit_button,SIGNAL(clicked()),&a,SLOT(quit()));

你会发现,编译器不能找到a。这是正常的,qt不允许这么做,qt为了这种操作提供了Qapplication的别名,既qApp。

将上述connec代码改为如下

Qobject::connect(quit_button,SIGNAL(clicked()),qApp,SLOT(quit()));

程序就可以正常通过编译了。

posted @ 2022-12-18 20:35  bvwvd  阅读(124)  评论(0)    收藏  举报