2012-11-11 67 views
0

我正在學習uni的QT模塊的文字處理器教程。Qt :: WA_DeleteOnClose在osx上 - 諾基亞教程

它要求我把設置該屬性:

的MainWindow ::的setAttribute(Qt的:: WA_DeleteOnClose);

問題出在我運行應用程序時,它會導致錯誤,說應用程序意外關閉。

另外它問我做一個actionExit動作,並添加到文件工具欄,它不顯示,我猜測這是因爲我在OSx上寫它,並退出/退出照顧你用cmd + Q快捷鍵。

我想知道是否有人可以爲我解釋這個問題,這樣我知道將來的參考。如果需要,我可以發佈教程+源代碼。

感謝

編輯:從調試器回溯(希望這是正確的)

0 __pthread_kill  0 0x7fff8eaff212 
1 pthread_kill  0 0x7fff86f7eaf4 
2 abort  0 0x7fff86fc2dce 
3 free  0 0x7fff86f96959 
4 MainWindow::~MainWindow mainwindow.cpp 22 0x100002cff 
5 QObject::event  0 0x100e48906 
6 QWidget::event  0 0x1000ecd5e 
7 QMainWindow::event  0 0x10049cadb 
8 QApplicationPrivate::notify_helper  0 0x10009593d 
9 QApplication::notify  0 0x10009bdc4 
10 QCoreApplication::notifyInternal  0 0x100e3417c 
11 QCoreApplicationPrivate::sendPostedEvents  0 0x100e355a0 
12 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__  0 0x7fff90925101 
13 __CFRunLoopDoSources0  0 0x7fff90924a25 
14 __CFRunLoopRun  0 0x7fff90947dc5 
15 CFRunLoopRunSpecific  0 0x7fff909476b2 
16 RunCurrentEventLoopInMode  0 0x7fff8d0f60a4 
17 ReceiveNextEventCommon  0 0x7fff8d0f5d84 
18 BlockUntilNextEventMatchingListInMode  0 0x7fff8d0f5cd3 
19 _DPSNextEvent  0 0x7fff91a00613 
20 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  0 0x7fff919ffed2 
... <More> 
+0

」應用程序意外關閉。「 < - 使用調試器,發佈回溯。 –

+0

@FrankOsterfeld你可能會笑,但我實際上不知道該怎麼做。我已經在調試器中運行它,讓它崩潰 - 對話說:劣勢停止,因爲它從os接收信號,信號名稱:SIGABRT信號含義:中止。我不知道如何發佈qt創建者調試器的追蹤。對不起 – Vade

+1

在調試模式下構建應用程序(請參閱Qt Creator中的構建設置)。然後通過Qt Creator中的「開始調試」來啓動應用程序。一旦崩潰,您應該在下方中心窗格(堆棧跟蹤)中看到一系列功能。在其上下文菜單中,有一個選項「將內容複製到剪貼板」。在OS X中,您還可以通過應用程序崩潰時出現的常用報告對話框進行回溯。 –

回答

1

在堆棧上聲明你的主窗口對象,通過任何機會呢?如果是這樣,那麼DeleteOnClose不是一個好主意,因爲刪除堆棧中的對象是一個錯誤。 「