내 응용 프로그램에 QMessageBox
을 통해 사용자가 편집을 유지하거나 변경하려는 모든 변경 사항을 취소할지 묻는 대화 상자가 있습니다. 이 대화 상자를 전체 응용 프로그램의 모달이되게하고 싶습니다.모달 QMessageBox가 기본 Windows 대화 상자처럼 작동하지 않습니다.
나는 이것이 QMessageBox
의 표준 동작입니다 어딘가에 읽고, 그래서 내가 좋아하는 뭔가를 명시 적으로 설정 필요 없다 : (
mbox.setWindowModality(Qt::ApplicationModal);
나는 그것이 OS에서 다르게 다른 모달 대화 상자에서 동작하는 이유를 궁금해 필자의 경우 Windows 7). 한편으로는 기능이 좋아야합니다. 즉, 응용 프로그램의 다른 모든 입력 메소드는 사용자가 대화에 응답 할 때까지 차단됩니다. 그러나 사용자가 응용 프로그램의 다른 창을 클릭하면 '깜박'하지 않습니다. Qt가 네이티브 Windows 대화 상자처럼 동작하도록 할 수있는 방법이 있습니까?
미리 감사드립니다. 당신은 내가이 '깜박'로 무슨 뜻인지 모르는 경우
* 는 : 윈도우 OS에 그냥 메모장, 텍스트를 입력하고 닫습니다하려고합니다. 저장, 폐기 또는 편집을 요청하는 대화 상자가 나타납니다. 이제 편집기 창에서 어딘가를 클릭하십시오 -> 대화 상자의 테두리와 제목 표시 줄이 몇 번 깜박이거나 깜박입니다.
특히 Windows에 대해 이야기하고 있습니까? Win atm에서 테스트 할 수는 없지만 우분투에서는 작동해야합니다. – SingerOfTheFall
@SingerOfTheFall : 예.이 질문에서 Windows 컨텍스트에서만 얘기하고 있습니다. 말했듯이 필자는 제대로 작동하지만 시각적 인 동작은 OS의 다른 대화 상자에서와 동일하지 않습니다. 그것은 단지 광학적인 '문제'일 뿐이며 공통된 표정과 느낌으로 인해 궁금합니다. –