qt4 5close 詭異問題

2021-06-21 14:37:38 字數 542 閱讀 5244

//

去掉邊框

最前面顯示

setwindowflags(qt::tool|qt::windowstaysontophint|qt::framelesswindowhint);

//去掉邊框

setwindowflags(qt::tool|qt::framelesswindowhint);

//子窗體全屏顯示

//setwindowflags(qt::dialog);

showfullscreen();

詭異點在於:

若去掉邊框顯示介面,如果在這個介面中加入按鈕,單擊按鈕彈出的對話方塊若果有邊框,那麼在該彈出的對話方塊中的某一按鈕新增訊息響應函式:

this->close();

理論上這條語句是關閉該視窗,但是結果卻是關閉掉了整個程序。

經一下午的測試發現,如果前面版沒有邊框,那麼後面版也要沒有邊框,那麼呼叫後面版上按鈕的

this->close();

才可以正常退出後面版介面;同理,若果前面版有邊框,那麼後面板也必須要有邊框,否則仍會出現相同的問題。

qt中destroyed和close視窗有什麼區別

qt的assistant中關於destroyed只有qobject類的該訊號,其中說的很清楚 物件被destroyed前將立即傳送該訊號,其不能夠被阻塞。該物件的所有子物件在訊號傳送以後會被立即銷毀。而qwidget與qwindow差不多都是釋放視窗相關資源。qwidget的close槽函式是像wi...

Qt4 5實現透明窗體

translucentwidget.h ifndef translucentwidget h define translucentwidget h include class translucentwidget public qwidget endif translucentwidget.cpp i...

QMessageBox按鈕的漢化 QT4 5 3

經常呼叫qmessagebox infomation 來調出資訊彈窗,但是彈窗的按鈕是不國際化的 考慮到彈窗國際化的需求,建議在類內寫乙個函式來統一處理彈窗按鈕國際化的問題,具體如下 int messagebox qmessagebox icon box icon qmessagebox noico...