0
QCloseEvent
을 사용하여 모든 대화 상자를 닫고 기본 창이 닫힐 때 응용 프로그램을 종료하려고합니다. 나는 설명서를 읽고 많은 예제를 보면서 이것은 내가 지금까지 가지고 올 한 것입니다있다 :qt 제작자 버전 5.3 : 하나의 메인 윈도우가 닫힌 경우 전체 응용 프로그램 종료
을 내 .H 파일에서 내 mainwindow.cpp 파일에서
protected:
void mainwindow::closeEvent(QCloseEvent *);
:
class QCloseEvent;
void mainwindow::closeEvent(QCloseEvent *event)
{
event->accept();
if (event->isAccepted())
{
QApplication::quit();
}
}
이 코드를 실행할 때 다음과 같은 오류를 얻을 : mainwindow::closeEvent'
: 지역 함수 정의는 불법 mainwindow.cpp (13)이다 :이 줄이 포함 된 '{'아직
void mainwindow::closeEvent(QCloseEvent *);
그것은해야한다 :
제안 된대로 헤더 파일을 변경하고 여전히 mainwindow.cpp : 22 : 오류 : C2601 : 'mainwindow :: closeEvent': 로컬 함수 정의가 올바르지 않습니다. simmotioncontrol.cpp (13) :이 줄은 다음과 같습니다. 아직 일치하지 않은 '{'이 ... 내 .cpp 파일에 오류가 나타나고 .h 파일이 도움이된다면 오류가 표시됩니다. – fluxD613
'class QCloseEvent; 인 cpp에서 전달 선언을 제거하고 'QCloseEvent' 헤더를 cpp 또는 h 파일에 저장하십시오. 나뿐만 아니라 지금은 이전과 같은 오류를 얻을했다 –
는 (로컬 함수 정의가 불법) 당신의 도움 무효 simMotionControl :: closeEvent (QCloseEvent * 이벤트) { 이벤트 -> (동의)에 감사드립니다; (이벤트 -> isAccepted()) } return; } – fluxD613