Solaris CDE에서 모듈이없는 대화 상자를 부모 위에 유지하는 방법
문제
CDE (Common Desktop Environment)를 사용하여 Solaris 8/10 머신의 QT Modeless 대화 상자에 문제가 있습니다.
대화 상자는 사용자가 기본 응용 프로그램에서 도구를 선택 해야하는 도면 패널/팝업 역할을합니다. 문제는 사용자가 기본 응용 프로그램 도구 모음을 클릭 할 때마다 대화 상자가 기본 응용 프로그램 뒤에 있습니다.
이것은 CDE에만 해당되는 행동이며, 열린 Windows Enviroment 또는 Solaris Java 환경은이 문제를 일으키지 않습니다.
내 질문은 어떻게 부모 위에 항상 (주 응용 프로그램)을 만들 수 있습니까?
WX11Bypasswm 플래그를 대화 상자, Pass Window Manager로 전달하려고했지만 테두리와 프레임이 사라져 대화 상자가 드래그/움직일 수 없습니다.
Update 1:
관련하여 앤디의 대답:
난 노력 했어 Qt::WStyle_StaysOnTop
, 그러나 작동하지 않습니다.
나는 또한 결합하려고 노력했다.
WX11BypassWM | WStyle_StaysOnTop | WStyle_Title
그리고 다른 조합 WStyle_DialogBorder, WType_TopLevel
등, 그것은 단지 위에만 유지됩니다 WX11BypassWM
통과됩니다.
그러나 때마다 WX11BypassWM
전달되면 표시된 대화 상자에는 테두리 나 Tittle 막대가 없습니다.
즉, 무의미한 tittle-less 대화 상자라는 것을 의미합니다.
Update 2:
이 문제에 대한 솔루션을 찾을 수 없으므로 당분간은 기본 응용 프로그램과 모드리스 대화 상자를 나란히 조정하고 재배치하여 해결합니다.
이렇게하면 최소한 사용자가 두 인터페이스 모두에서 탐색 할 수 있습니다.
더 나은 제안이 있다면 누구나 알려주세요.
올바른 솔루션이 없습니다
다른 팁
나는 당신의 질문을 이해했는지 확실하지 않지만, 사용할 수는 없을 것입니다.
Qtassistant에서 발견 :
enum Qt::WindowType
flags Qt::WindowFlags
QT :: WindowstaySontophint :
"창 시스템에 창이 다른 모든 창문 위에 있어야한다는 것을 알려줍니다."
나는 그것이 조금 도움이되기를 바랍니다!