2011-12-07 5 views
2

QMainWindow를 최대화 또는 최대화 (부동화) 할 때 에만을 트리거 할 C++ 코드가 필요합니다. 필요한 경우이 추가 코드 없이도 프로그램이 계속 실행되지만이 기능을 사용하면 미적인 측면에서 도움이됩니다. 기본적으로 GUI의 주 스플리터는 창이 최대화 된 경우 25 %, 최대화되지 않은 경우 50 %이어야합니다. (기본값 유동 윈도우 상태)Qt : QMainWindow가 최대화/최대화되지 않은 경우 코드 실행

방금 ​​더 많은 공간을 원한다면 사용자는 수동으로 드래그해야하며, QSplitter가 기본값에 상관없이 50 %로 설정되기 때문에 스플리터의 한면에있는 대부분의 화면 공간이 낭비됩니다. 창 크기. 짜증나지만, 그것이 일어난다면 하루를 망치지 않을 것입니다.

나는 QMainWindow가 윈도우의 최대화 상태를 확인하기위한 슬롯을 가지고 있는지 확인했지만 내가 아는 한 없다. 어떻게 할 수 있습니까?

답변

1

나는 이것을 할 방법이 확실치 않지만 "최대화"에서 "아래로 복원"(또는 그 반대)으로 전환하는 것이 사용자가 창 크기를 크게 변경하지 않는다고 생각하는 것이 좋습니다. 그것을 극대화하기 전에 이미 창을 꽤 크게 잡았습니다. 이러한 이벤트를 수신하는 방법을 찾으면 조정하기 전에 실제 창 크기를 확인하는 것이 좋습니다.

사용자가 수동으로 창을 늘리거나 줄이는 경우 (최대화 또는 복원 할 때뿐만 아니라) 조정할 때 크기 조정 이벤트를 처리하기를 원할 수도 있습니다.

사람 : 나는 그러나 어쩌면이있는 사용자로 만족 그 동작을 찾을 구성 항목 :

2

현재 윈도우 상태를 쿼리로 제공하는 것이 확실하지 않다

0,123,516 : 우선, 상태 변경을 수신

QEvent :: WindowStateChange가있는 경우 스플리터 배치 코드를 호출하십시오. 모든 경우에있어 이벤트를 기본 클래스 이벤트 핸들러로 전달하십시오.

관련 문제