是這樣的,我現在封裝了一個顯示視窗 并為視窗寫了一個工具列視窗,然后將這兩個界面封裝成一個動態庫匯出:
m_pGraphicsWidget = new GcImageWidget(this);
m_pToolBox = new GcImageWidgetToolBox(m_pGraphicsWidget, this);
// //
m_mainlayout = new QGridLayout();
m_mainlayout->addWidget(m_pToolBox, 0, 0);
m_mainlayout->addWidget(m_pGraphicsWidget, 0, 1);
setLayout(m_mainlayout);
通過設定了布局,讓工具列與視圖視窗可以創建出來
然后我創建了一個對話框去呼叫這個庫,并在構造時創建該物件(這里測驗Demo我并未寫顯示啥的)
m_ImageView = new GcGraphicsWindow(this);
然后我關閉對話框時就會崩潰~~~~~然后除錯發現一直是析構該物件時崩潰~~
uj5u.com熱心網友回復:
我把庫內構造內所有NEW都屏蔽了,一個空的構造,一個空的析構,也就是外部NEW的時候僅僅創建一個視窗,還是崩潰,看來跟下面的視窗類和工具列沒有關系uj5u.com熱心網友回復:
感覺庫的鏈接有問題 你是靜態呼叫?呼叫的庫回傳的物件的記憶體是在所呼叫的dll處開辟的 主行程釋放資源就會有問題uj5u.com熱心網友回復:
現在解決了,我在主程式析構的時候主動Delete這個物件,然后滯空就行了/;但是依舊想不通,析構自動呼叫子模塊解構式就會崩潰~~~~轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/277889.html
標籤:Qt
