close 控件關閉 公共槽


close() 公共槽返迴 bool 值,且調用會觸發 closeEvent 事件。

  1. 隱藏控件

  2. 默認情況下,close() 公共槽隻是隱藏控件 (即:控件仍存活)。

    譬如:後期還要使用的 QAction 動作、 QMenu 菜單、等。

  3. 刪除控件

  4. 啓用控件的 setAttribute(Qt.WA_DeleteOnClose, True) 屬性,關閉時將立即刪除控件。

    調用控件的 deleteLater() 公共槽, 將延遲刪除控件。

  5. 清零控件

  6. 在某些情況下,close() 公共槽可清零由控件生成的曆史描繪內容。

    否則,控件描繪內容仍可見,但無操作響應且不更新。

  7. 異常情況

  8. 有時調用 close() 公共槽,控件被關閉但未觸發 closeEvent 關閉事件。

    解決辦法: 先調用 hide() 公共槽觸發 hideEvent 隱藏事件進行相關處理, 再調用 close() 公共槽也能獲得相同效果。

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。