在槽函式中釋放乙個類的空間

2021-09-30 03:20:09 字數 780 閱讀 9988

首先做乙個假設:我們要實現乙個程式,程式中有乙個mainwindow,mainwindow中有乙個dockwidget。在點dockwidget的關閉按鈕的時候,需要在mainwindow中進行一些處理,然後釋放dockwidget。何以實現?

我想到的是:在dockwidget類中宣告乙個訊號,並把這個訊號連線到mainwindow類中的處理函式removedockwidget(), 最後過載closeevent函式,在closeevent中傳送這個訊號。

而在removedockwidget()中,我是這樣寫的:

void mainwindow::removedockwidget()

*   some function deal with other things

delete dockwidget;                           //release the space assigned to dockwidget

在除錯的時候,雖然dockwidget的析構函式可以被呼叫來析構這個類,但是會有如下兩個debug資訊:

qobject: do not delete object, 'qt_dockwidget_closebutton', during its event handler!

qobject: do not delete object, 'unnamed', during its event handler!

下面給出這個錯誤的解決方法:

不用delete直接釋放空間,而改用qobject::deletelater()函式來釋放空間。

乙個MFC釋放資源的類

分享乙個釋放資源的類 bool c dlg releaseres cstring strfilename,word wresid,cstring strfiletype 查詢資源檔案中 載入資源到記憶體 得到資源大小 hrsrc hrsc findresource null,makeintresou...

在乙個類中監聽另乙個類中變數改變

當乙個類中某個變數改變時,需要在另乙個類中做出應對,可以用下面的方法 以android為例 public class a extendsactivity implements b.oncupdatelistenerpublic void oncupdate int c public class bp...

vc 在乙個類中呼叫另乙個類的變數

有幾個前提條件 1.被引用的變數所在類必須被完整地定義,而不是只有前向宣告 例如只是一行class a 2.被引用的變數必須是引用處可訪問的。也就是說,以下條件至少滿足其中之一 2.1.訪問變數的語句所在的類被宣告為被訪問的變數所在類的友元類 2.2.訪問變數的語句所在的函式被宣告為被訪問變數所在類...