2009-05-15 7 views
19

정상적으로 창 관리자가 책상 위의 QMainWindow 위치의 초기 위치를 결정한다고 생각합니다. 나는 초기 위치를 직접 설정하고 싶다. Qt를 Windows에서 어떻게 처리합니까?Qt : 메인 윈도우의 초기 위치 설정 방법은 무엇입니까?

+0

이 질문에 대답하는 사람들은 나에게이 사실을 알릴 수 있습니까? 이전 위치를 기억하지만 모니터에서 화면을 벗어난 위치로 이동하면 모니터로 돌아가려면 어떻게해야합니까? –

+0

http://doc.trolltech.com/4.3/geometry.html "창 지오메트리 복원"으로 스크롤 –

답변

5

나는 당신이 setGeometry을 찾고 있다고 생각합니다.

당신은 restoreGeometry()와 창 형상, 그리고 MainWindow를의 건설 기간 동안 restoreState()와 도킹 요소의 상태를 복원 할 수 있습니다
+2

Qt의 최신 버전에 대한 편리한 링크 : http://doc.trolltech.com/latest/qlayoutitem. html # setGeometry – Pieter

25

... 당신이 closeEvent()을 무시할 경우

QSettings settings("yourcompany", "yourapp"); 

    restoreGeometry(settings.value("geometry").toByteArray()); 
    restoreState(settings.value("state").toByteArray(),YOUR_UI_VERSION); 

, 당신은 상태를 저장할 수 있습니다 다음과 같이

QSettings settings("yourcompany", "yourapp"); 

    settings.setValue("geometry", saveGeometry()); 
    settings.setValue("state", saveState(YOUR_UI_VERSION)); 

YOUR_UI_VERSION은 UI가 잘못된 상태를 복원하려는 시도를 방지하기 위해 크게 변화 할 때 증가한다 상수이다.

+0

정확합니다. . – Thomi

+1

+1 : 나는 그런 존재가 있었지만 정확히 어떻게 알지는 못했습니다 ... –

관련 문제