2011-12-19 6 views
6

사용자가 빨간색 "X"(창 닫기 단추)를 클릭하더라도 특정 부울 플래그를 기반으로 응용 프로그램을 종료하거나 무시할 수 있는지 궁금합니다.Qt 응용 프로그램 종료 이벤트 취소

저는 C# 프로그래머입니다. .net 응용 프로그램에서는 꽤 쉽게 할 수 있습니다.하지만 Qt 프레임 워크에 상당히 익숙하며 Google에서 검색하면 관련 결과를 가져 오지 않았습니다.

덕분에,

답변

14

Qt의 문서는이 특정 use-case about asking permission to close in their examples에 대해 설명합니다.

예를 들어 서브 클래스를 QMainWindow으로 변경하고 closeEvent 함수를 다시 구현하면 누군가가이를 닫으려고하면 사용자 정의 된 동작을 앱에 제공 할 수 있습니다. 예를 들면 다음과 같습니다.

void MainWindow::closeEvent(QCloseEvent *event) 
{ 
    if (maybeSave()) { 
     writeSettings(); 
     event->accept(); 
    } else { 
     event->ignore(); 
    } 
} 
+1

답변을 향상 시키려면 기사에 링크하는 것 외에도 예제 코드를 제공 할 수 있습니다. 가장 좋은 답변은 항상 소스가 포함되어 있습니다! –