PyGTK-컨테이너

PyGTK 라이브러리는 창 내부의 위젯 배치를 제어하기 위해 다양한 컨테이너 클래스를 제공합니다. 가장 쉬운 방법은fixed container class 픽셀 단위로 측정 된 절대 좌표를 지정하여 위젯을 그 안에 배치합니다.

이제 다음 단계를 따르십시오.

Step 1 −의 개체를 선언 fixed class

fixed = gtk.Fixed()

Step 2 − 버튼 위젯을 생성하고 다음을 사용하여 고정 컨테이너에 추가합니다. put()x 및 y 좌표가 필요한 방법. 여기서 버튼은 (100,100) 위치에 배치됩니다.

btn = gtk.Button("Hello")
fixed.put(btn, 100,100)

Step 3− 고정 컨테이너에 여러 컨트롤을 배치 할 수 있습니다. 그리고이를 최상위 창에 추가하고show_all() 방법

self.add(fixed)
self.show_all()

그러나이 Absolute Layout은 다음과 같은 이유로 적합하지 않습니다.

  • 창 크기를 조정해도 위젯의 위치는 변경되지 않습니다.
  • 해상도가 다른 다른 디스플레이 장치에서는 모양이 균일하지 않을 수 있습니다.
  • 전체 양식을 다시 디자인해야 할 수 있으므로 레이아웃 수정이 어렵습니다.

다음은 original window

다음은 resized window

여기서 버튼의 위치는 변경되지 않습니다.

PyGTK API는 컨테이너 내부의 위젯 위치 관리를 강화하기위한 컨테이너 클래스를 제공합니다. 절대 위치보다 레이아웃 관리자의 장점은 다음과 같습니다.

  • 창 안의 위젯은 자동으로 크기가 조정됩니다.
  • 해상도가 다른 디스플레이 장치에서 균일 한 외관을 보장합니다.
  • 재 설계하지 않고도 위젯을 동적으로 추가하거나 제거 할 수 있습니다.

gtk.Container는 다음 클래스의 기본 클래스로 작동합니다.

  • gtk.ButtonBox
  • gtk.Box
  • gtk.Alignment
  • gtk.EventBox
  • gtk.Table