原地址: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()

最新文章

  1. vbox中虚拟ubuntu增加新的虚拟硬盘
  2. iis发布网站怎么支持.json文件
  3. 虚拟机下linux安装mysql,apache和php
  4. [小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest &amp; 数据驱动
  5. C#面向对象总结1
  6. portable runtime
  7. DS实验题 地鼠安家
  8. lib3ds类库
  9. hive sql 语法详解
  10. C#+SQL数据库备份和还原
  11. Sencha touch navigation 内嵌list,itemTap第二次点击不跳转的问题
  12. Java实战之04JavaWeb-01Servlet
  13. Camus导入中文乱码问题(源码修改、编译、部署、任务启动)
  14. centos6.5 安装
  15. (转)PHP函数spl_autoload_register()用法和__autoload()介绍
  16. 给div中动态添加节点并设置样式
  17. df -h统计的信息与du -sh不一致的原因(转)
  18. Hadoop集群搭建步骤
  19. 详解react/redux的服务端渲染:页面性能与SEO
  20. 发现AspNet.Core版本控制库Bug一枚,你还想入坑?

热门文章

  1. [置顶] ios 360度旋转效果demo
  2. AS3清空数组的四种方法
  3. struts2--配置文件中使用通配符
  4. 由基于qml,c++的串口调试工具浅谈qml与c++混合编程
  5. 基于visual Studio2013解决C语言竞赛题之0524职工年龄
  6. go - 变量和常量
  7. UVA 10603 Fill(正确代码尽管非常搓,网上很多代码都不能AC)
  8. pomelo 协议
  9. vim-ctags-taglist-netrw
  10. Android调整TimePicker和DatePicker大小