※ 引述《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()
来关掉自己 但还是会出现应用程式错误...不知道是不是哪边搞错了
是该关的没关好吗?