5.11. 애드온 GUI 고급 기능
pyanaconda
패키지에는 허브 및 발표자가 사용할 수 있는 몇 가지 도우미 및 유틸리티 기능이 포함되어 있습니다. 대부분은 pyanaconda.ui.gui.utils
패키지에 있습니다.
샘플 Hello World
애드온은 Anaconda 에서도 사용하는 englightbox
콘텐츠 관리자의 사용을 보여줍니다. 이 콘텐츠 관리자는 창을 Lightbox에 배치하여 가시성을 높이고 사용자가 기본 창과 상호 작용하지 못하도록 할 수 있습니다. 이 기능을 설명하기 위해 샘플 애드온에는 새 대화 상자 창을 여는 버튼이 포함되어 있습니다. 대화 상자 자체는 pyanaconda.ui.gui.init 에 정의된 GUIObject 클래스에서 상속하는 특수 HelloWorldDialog 상속입니다.
대화 상자 클래스는 동일한 의미의 mainWidgetName 클래스 특성을 사용하여 채워지는 self.window 특성을 통해 액세스할 수 있는 내부 Gtk 대화 상자를 실행하고 삭제하는 run 메서드를 정의합니다. 따라서 다음 예와 같이 대화 상자를 정의하는 코드는 매우 간단합니다.
예 5.4. englightbox 대화 상자 정의
englightbox 대화 상자 예제 코드를 정의하면
대화 상자의 인스턴스가 생성된 다음 enlightbox 컨텍스트 관리자를 사용하여 Lightbox 내에서 대화 상자를 실행합니다. 컨텍스트 관리자의 대화 상자 창에 대한 참조가 있으며 대화 상자를 인스턴스화하기 위해 대화 상자만 있으면 됩니다.