我的程序中的一些功能需要運行很長時間,以便用戶可以中斷它。該結構是這樣的:如何釋放局部變量擁有的資源?
int MainWindow::someFunc1()
{
//VP is a class defined somewhere.
VP vp1;
//the for loop that needs time to execute.
return 0;
}
int MainWindow::someFunc2()
{
VP vp2;
//another loop that consumes time.
return 0;
}
如果用戶運行的功能,或在同一時間要麼,點擊右上角退出,程序仍會在後臺運行,直到循環結束。我試圖釋放資源,無效的closeEvent(QCloseEvent *):
void MainWindow::closeEvent(QCloseEvent *)
{
vp.stopIt();
}
但是因爲VP1和VP2是局部變量,我不知道如何將它們傳遞到的closeEvent()函數和免費資源。任何建議將不勝感激。
當它們都在主GUI線程中時,'someFunc1'和'someFunc2'如何同時運行?在類似的說明中,您應該在GUI線程中不執行長時間運行的任務(它會導致GUI意外凍結),並將它們放入單獨的線程中。 – cmannett85 2012-08-15 11:49:52