Re: [問題] 程式運行完之後自己關掉自己
※ 引述《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()
來關掉自己 但還是會出現應用程式錯誤...不知道是不是哪邊搞錯了
是該關的沒關好嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.219.95
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1477189655.A.A1D.html
→
10/23 16:26, , 1F
10/23 16:26, 1F
→
10/23 17:19, , 2F
10/23 17:19, 2F
→
10/23 19:28, , 3F
10/23 19:28, 3F
有把自己關起來了
但會跳應用程式錯誤 查了一下是APPCRASH...
※ 編輯: MOONY135 (59.124.46.66), 10/24/2016 18:09:17
→
10/24 18:29, , 4F
10/24 18:29, 4F
後來發現是 因為下載段 取得下載網址的txt被我砍掉 造成讀不到網址
但程式還是一直在跑下載
※ 編輯: MOONY135 (59.124.46.66), 10/24/2016 18:53:06
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):