2014-05-22 2 views
0

나는 현재 QMessageBox::critical() 메시지 상자라고 불리는 정적을 사용하고 있으며 모든 창 위에 머물러 있어야한다. 누군가 구현 방법을 알고 있습니까?QMessageBox :: critical 위로 가기

QMessageBox의 정적 버전 만 필요합니다.

미리 감사드립니다.

+2

http://blogs.msdn.com/b/oldnewthing/archive/2011/03/10/10138969.aspx – Mat

+0

이 메시지 상자를 화면에있는 모든 창의 맨 위에 표시 하시겠습니까? –

+0

그래서 사용자를 싫어 하시겠습니까? –

답변

0

정적 방법 QMessageBox::critical()을 사용하면이 작업을 수행 할 수 없습니다.

당신은 비 정적 버전을 사용해야합니다, 그래서 당신은 윈도우 플래그를 수정할 수 있습니다 윈도우 매니저 정말이 설정을 적용 여전히 보장이 없다는 것을

QMessageBox dlg(QMessageBox::Critical, tr("YourTitle"), tr("YourErrorMessage")); 
dlg.setWindowFlags(dlg.windowFlags() | Qt::WindowStaysOnTopHint); 
dlg.exec(); 

참고. (운영 체제 자체 외에) 어떤 응용 프로그램을 사용자에게 중요한 것을 ... 자체를 고려해야한다 -

하지만 ... 내 생각에 당신이 그렇게하면 안 (이 힌트 불리는 이유입니다) 이것은 매우 짜증나게 할 수 있습니다. 따라서 오류 발생시 전체 시스템을 계속 사용하는 것이 불가능하거나 위험하지 않은 경우에만 수행하십시오.

관련 문제