1. 程式人生 > >QVBoxLayout正確移除控制元件

QVBoxLayout正確移除控制元件

想在QWidget裡面動態的新增和刪除控制元件,給QWidget設定了一個佈局管理器QVBoxLayout,要刪除控制元件可以 使用QVBoxLayout::removeWidget(QWidget *w)方法,但是移除之後,那個被移除的控制元件還顯示在裡面。 

經過一段時間的實驗,發現光呼叫這個remove方法還不行,必須在呼叫之後delete這個被移除的控制元件,貌似這個是qt為了防止記憶體洩露所做的保護機制,因為如果呼叫了remove方法之後,不進行delete的話,那麼這個控制元件就屬於野指標了。

原文地址:http://blog.csdn.net/supervictim/article/details/52679863