
正文
QT在构造函数中退出程序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
原地址:http://www.tuicool.com/articles/RZnYze
在QT的界面类的构造过程中,如果想退出整个程序,暴力的做法是调用exit(-1)进行,另外一种不是那么暴力的方式如下:
dialog.h
#ifndef DIGLAOG_H_
#define DIGLAOG_H_ #include <QDialog> class dialog : public QDialog
{
public:
dialog (QWidget *parent = 0);
virtual ~dialog (); private:
}; #endif dialog.cpp
#include "dialog.h"
#include <QTimer>
#include <QApplication> dialog::dialog(QWidget *parent)
:QDialog(parent)
{
qDebug("dialog::dialog()");
QTimer::singleShot(0, qApp, SLOT(quit()));
} dialog::~dialog()
{
qDebug("dialog::~dialog()");
}
main.cpp
#include <QApplication>
#include "dialog.h" int main(int argc, char *argv[])
{
QApplication a(argc, argv); dialog d;
return d.exec();
}
采用的方式是:
QTimer::singleShot(0, qApp, SLOT(quit()));
运行结果:dialog::dialog()dialog::~dialog()







