문제
PYQT 4.5에는 다른 레이아웃 안에 레이아웃이 있습니다. 부모로부터 하위 해우를 제거하고 숨기고 싶습니다. 나는 말할 수있다 parent_layout.removeItem(child_layout)
부모로부터 레이아웃을 제거하려면 여전히 위젯에 표시됩니다. 한 단계로 숨길 방법을 찾을 수 없습니다. QLayout
A가 없습니다 hide()
방법과 같은 방법 QWidget
하다.
해결책
쉬운 솔루션은 내부 레이아웃이 아닌 내부 위젯을 갖는 것입니다. 원하는 레이아웃을 위젯에 할당 한 다음 위젯을 제거/숨기고 싶을 때 위젯을 제거 할 수 있습니다. 좋은 규칙은 위젯이 나타나는 방식을 배열하고 레이아웃을 사용하려는 경우입니다. 그룹으로 숨기거나 표시하려면 위젯을 사용하십시오.
다른 팁
Flupke의 도움으로 #qt
, 나는 다음과 같이 생각했다 :
for i in range(0, child_layout.count()):
child_layout.itemAt(i).widget().hide()
parent_layout.removeItem(child_layout)
모든 아동 레이아웃의 어린이가 위젯이라고 가정합니다. 더 간단한 솔루션이 있습니까?
제휴하지 않습니다 StackOverflow