Re: [问题] 程式运行完之后自己关掉自己

楼主: MOONY135 (谈无欲)   2016-10-23 10:27:32
※ 引述《MOONY135 (谈无欲)》之铭言:
: 开发平台(Platform): (Ex: Win10, Linux, ...)
: VS2015
: 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
: QT
: 额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
: 问题(Question):
: 我做了一版下载档案(按下BUTTON时会自己下载 解压缩)
: 想让他解压缩完之后自己关掉
: 目前是把关掉程式写在 on_btnDownload_clicked() 里面
: 但发现这样写应用程式会关闭不完全...
: 请问我应该怎样在程式做完步骤之后把自己关掉呢
: #include "myclass.h"
: using namespace std;
: MyClass::MyClass(QWidget *parent)
: : QMainWindow(parent)
: {
: ui.setupUi(this);
: manager = new QNetworkAccessManager(this);
: QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this,
: SLOT(finishedSlot(QNetworkReply*)));
: }
: void MyClass::on_btnDownload_clicked()
: {
: 下载的code...
: 解压缩的code...
: this -> close();
: }
请问一下目前是这样改写
#include "myclass.h":
using namespace std;
MyClass::MyClass(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
manager = new QNetworkAccessManager(this);
QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this,
SLOT(finishedSlot(QNetworkReply*)));
connect(ui.btnDownload, SIGNAL(whenDownLoadFinished()), this, SLOT(close()));
}
void MyClass::on_btnDownload_clicked()
{
下载的code...
解压缩的code...
emit whenDownLoadFinished();
}
按下btnDownload之后 做完一连串动作 发射 signal whenDownLoadFinished()
来关掉自己 但还是会出现应用程式错误...不知道是不是哪边搞错了
是该关的没关好吗?
作者: bdvstg (bdvstg)   2016-10-23 16:26:00
放大绝 QCoreApplication::exit(0); 试试
楼主: MOONY135 (谈无欲)   2016-10-23 17:19:00
所以是看起来想法没错 只是不成功而已吗
作者: uranusjr (←這人是超級笨蛋)   2016-10-23 19:28:00
有 qApp->quit() 可以接啊, 教学都有教吧...
作者: OPIV (Monitor)   2016-10-24 18:29:00
你确定那是 quit 不是 crash 吗 哈哈

Links booklink

Contact Us: admin [ a t ] ucptt.com