문제

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)

모든 아동 레이아웃의 어린이가 위젯이라고 가정합니다. 더 간단한 솔루션이 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top