2012-02-02 2 views
4

많은 하위 요소로 구성된 UI 요소를 구현하려고합니다. 부모가하는 것처럼 성장하거나 줄어들 수 있습니다. 꽤 똑 바른 QLayout 재료. 그러나 부모가 너무 작아지면 두 개의 하위 요소가 숨겨집니다 (즉, 나머지 요소에 대한 공간이 더 많아지고 조금 더 커짐).QLayout은 QWidgets를 숨기지 않고 숨길 수 있습니까?

QLayout 님의 표준 처리 방법이 표시되지 않습니다. 나는 당신이 자식 위젯을 우선 순위로 생각하고, 우선 순위가 낮은 것들을 숨길 수 있다고 생각할 수 있습니다.

레이아웃은 완전히 수평이므로 숨겨진 항목을 가져올 방법이 없다는 점을 제외하면 툴바와 막연하게 비슷합니다. (그리고 자식 요소는 QToolBar에있는 것처럼 동작이 아닙니다.)

답변

0

QStackedWidget을 살펴보십시오. 방금 나 자신을 사용하기 시작했습니다.

"페이지"는 호출 할 때 표시되거나 숨겨집니다. 예 : 예를 들어

ui.stackedWidget->setCurrentIndex(0);

, 인덱스 0가 표시되고, 페이지 1,2,3 ... 아래에 숨겨져 있습니다.

나는 적절한 페이지/위젯을 클릭하면 다른 사람들의 '아래'를 숨길 수있는 수많은 라디오 버튼을 연결했습니다. 연결은 간단합니다 :

connect(button_group_ptr, SIGNAL(buttonClicked(int)), ui.stackedWidget, SLOT(setCurrentIndex(int))); 
connect(ui.stackedWidget, SIGNAL(currentChanged(int)), this, SLOT(stackedWidgetChanged(int))); 
+0

나는 같은 생각을하지 않습니다. 아이디어는 위젯을 숨기는 것이 컨테이너의 크기에 달려 있다는 것입니다. –

관련 문제