2012-02-03 2 views
1

나는 여러 위젯을 가지고 있으며 지금은 내 프로그램의 다른 섹션/페이지를 넘길 때 각 위젯에 개별적으로 Hide() 및 Show()를 사용하고 있습니다.숨기기 및 표시, wxpython에 대한 그룹으로 Assiociate 위젯

나는 이것을했기 때문에 각 위젯이 하나씩 남거나 보이는지 볼 수 있습니다 (다소 싫증이났다).

이러한 위젯을 모두 그룹화 한 다음이 그룹을 숨기기() 및 표시()하여 "한 명씩"습관을 피할 수 있습니까?

답변

3

위젯을 표시하거나 숨길 때 고정/해빙/레이아웃을 사용해보십시오. 이 방법으로 그들은 모두 동시에 나타나거나 사라져야합니다.

+1

+1 큰 +1. 그러나 워드 프로세서에서 :이 방법은 모든 플랫폼에서 구현되지는 않으며 모든 컨트롤에 적용됩니다. 따라서 wxWindows에 대한 힌트 일 뿐이며 필수 지시어가 아닙니다. – joaquin

+0

이것은 나를 위해 꽤 잘 작동하지만, 모든 플랫폼에서 지원되지는 않습니다. – thelost

1

동일한 상위 컨테이너 (패널)에서 sizer로 구성된 위젯 그룹을 배치하고 상위를 숨 깁니다. 모든 위젯은 부모와 함께 사라집니다.

때로는 단추 또는 확인란을 숨기는 것이 최선의 방법이 아니라는 점에 유의하십시오. 사용자가 사용할 수있는 기능도 변조 될 수 있습니다. widget.Disable()

+0

패널을 사용하지 않고도이 작업을 수행 할 수있는 다른 방법이 있습니까? 위젯이 약간 조직화되어 있지 않다. – thelost

+1

그러면 코드 리팩터링을 시작할 때가왔다. – joaquin

+0

일반적으로 패널이 필요하거나 올바른 탭 이동 동작을 잃을 수 있습니다. –