2016-11-08 12 views
0

osx에서 전체 화면 모드로 열린 일부 창을 포함하여 열려있는 모든 창 위에 표시해야하는 간단한 트레이 응용 프로그램을 개발 중입니다.osx에서 열린 전체 화면 상단에 qt 창을 표시하는 방법은 무엇입니까?

다른 모든 열린 창에서 내 애플리케이션 창을 표시하는 데이 코드를 사용하고 있습니다.

//used flags 
    flags: Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint 

    //code for showing window 
    mainWindow.show() 
    mainWindow.raise() 
    mainWindow.requestActivate() 

업데이트 : 솔루션

난 그냥 Qt.WindowStaysOnTopHint 대신 올바른 플래그 Qt.Tool를 설정하여 해결책을 발견했다. 누군가 똑같은 문제가 있다면, 단지 이 플래그를 동시에 사용하지 마십시오..

+0

그리고 그 작동하지 않는 이유는 무엇입니까? – GrecKo

+0

아니요,이 방법은 단일 바탕 화면에만 유용하지만 osx에서 전체 화면으로 열면 새 바탕 화면으로 열립니다. 그리고 임무는 그들 모두에게 내 창을 보여주는 것입니다. –

답변

0

사용

void QWidget::setWindowState(Qt::WindowStates windowState) 

및 전체 화면 "Qt::WindowFullScreen"로 설정하십시오.

QMainWindowQWidget에서 파생 된 것으로 알고 있습니다.

위 기능을 사용할 수 있습니다. 이 같은

뭔가 :

mainWindow->setWindowState(Qt::WindowFullScreen) 
+0

죄송하지만이 코드는 창 전체 화면 모드를 설정하는 것입니다. 필자의 경우에는 전체 화면으로 만들 필요가 없으며 대신 새 데스크톱에서 전체 화면으로 열리는 내 창 updon 창을 표시해야합니다. –

+0

흠 ... 아마도 다른 창을 얻을 것입니다 .... 왼쪽 상단과 오른쪽 하단의 위치를 ​​얻으십시오. 그리고 쇼 전에 현재 창으로 설정하십시오. – Naidu

+0

이동 또는 복원 기와 같은 것을 사용하십시오. – Naidu