wxpython 예제

이 예제에서는 wx에서 파생됩니다. __init__ 메서드를 프레임으로 덮어씁니다. 여기에서 우리는 새로운 wx를 선언합니다. 간단한 텍스트 편집 컨트롤인 TextCtrl입니다. MyFrame이 자체 실행되므로 __init__ 메서드 내에서 표시() 프레임에 더 이상 호출할 필요가 없습니다. 표시() 명시적으로. 이 예제에서는 wx라는 두 부분으로 구성됩니다. 응용 프로그램과 WX. 프레임. WX.

응용 프로그램은 wxPython의 응용 프로그램 개체이며 GUI를 실행하는 데 필요합니다. WX. 앱은 를 시작합니다. 메인 루프()를 입력합니다. 이전 섹션에서 배운 이벤트 루프입니다. 튜토리얼은 wxPython 피닉스 버전 4.0.1을 다룹니다. 예제의 소스는 wxPython 예제 리포지토리에서 사용할 수 있습니다. 이 예제에서는 wx를 처리하는 함수를 추가하는 방법을 보여 주며 있습니다. 사용자가 프레임의 제목 표시줄에서 X 아이콘을 클릭할 때 생성되는 EVT_CLOSE 이벤트입니다. Bind() 함수는 이벤트가 검색될 때 호출할 함수의 이름을 이벤트 루프에 알려줍니다.

“On”을 사용하여 모든 이벤트 처리기의 이름을 시작하는 것이 유용한 규칙입니다. 이렇게 하면 함수 이름이 기본 클래스의 이름과 충돌하지 않도록 할 수 있습니다. 이 예제에서는 wx를 사용하는 텍스트 컨트롤을 추가합니다. 모든 및 WX. 플래그를 확장합니다. WX. ALL 플래그는 wxPython을 wx동안 위젯의 모든 면에 테두리를 추가하려는 것을 알려줍니다. EXPAND는 위젯이 사이저 내에서 가능한 한 많이 확장하게 합니다. 사이저에는 wx 목록이 제공됩니다. 크기조정기(sizer)를 호출하여 크기에 맞는 창 개체입니다. 추가 (창, 옵션 …), 또는 sizer를 호출하여.

AddMany (…). 사이저가 부여된 요소에서만 작동합니다. 크기 조정기를 중첩할 수 있습니다. 즉, 다른 사이저에 하나의 사이저를 추가할 수 있습니다(예: 두 행의 단추(각각 수평 wx로 배치)가 있습니다. BoxSizer)는 다른 wx 내에 포함되어 있습니다. 다음과 같이 단추행을 다른 위에 배치하는 BoxSizer: 이벤트가 발생할 때 메서드가 실행됩니다. 기본적으로 이 메서드는 이벤트를 처리하고 콜백이 완료된 후 이벤트가 중지됩니다. 그러나 이벤트와 함께 이벤트를 “건너뛰기”할 수 있습니다. 건너뛰기(). 이렇게 하면 이벤트가 이벤트 처리기의 계층 구조를 통과합니다. 예: 그래픽 사용자 인터페이스는 사용자가 응용 프로그램과 상호 작용하는 데 사용할 수 있는 단추, 창 및 기타 많은 위젯이 있는 응용 프로그램입니다.

좋은 예는 웹 브라우저입니다. 단추, 탭 및 모든 콘텐츠가 로드되는 기본 창이 있습니다. 새 응용 프로그램을 작성할 때는 여러 가지 접근 방식이 있습니다. 예를 들어 모델 뷰 컨트롤러 디자인 패턴을 따라야 합니까? 클래스를 어떻게 분할합니까? 파일당 하나의 클래스? 이러한 질문이 많으며 GUI 디자인에 대한 경험이 많아짐에 따라 어떻게 대답해야 하는지 알 수 있습니다. 참고: 위의 예제에서는 6개의 단추를 각각 3개의 열로 구성된 두 행으로 배치하지 않으므로 wxGridSizer를 사용해야 합니다.

Comments are closed.