헤더 및 본문으로 구성된 MyWidget을 만들고 싶습니다.동적 유형의 kivy 위젯
때로는 헤더는 라벨과 몸 상자 레이아웃이 될 것 즉 :
<[email protected]>:
Label:
id: header
text: "Title"
BoxLayout:
id: body
그러나 TabbedPanel에서 이러한 여러 그룹에 내가 원하는 시간, 경우에
, MyWidget은 행동해야 : MyWi로 검출 할 수 부모 (A Tabbedpanel 또는 다른 것), 누구입니다<[email protected]>:
text: "Title"
BoxLayout:
id: body
는 MyWidget가에 따라 다른 것이어야한다 dget.on_parent
TabbedpanelItem 및 BoxLayout 유형의 서로 다른 두 위젯 인 MyWidget_Tabbed 및 MyWidget_individual을 정의하는 것이 표준 방법은 알고 있지만 개념적으로이 두 가지는 실제로 동일합니다. 그룹화되었거나 그룹 해제되어 있습니다.
어떻게해야합니까?
MyWidgetGrouped (TabbedPanelItem), MyWidgetUngrouped (BoxLayout) 및 MyWidget의 3 가지 클래스가 있다고 생각합니다. KV에서 MyWidget 만 사용됩니다. 그런 다음 mywidget.on_parent에서 mywidget .__ class__을 MyWidgetGrouped 또는 MyWidgetUngrouped로 변경합니다 (그리고 아마도 __init__을 호출하고 __dict__ 및 기타 사항을 설정해야합니다)
안녕하세요! 대답 해줘서 고마워. 여러 상속을 시도했지만 작동하지 못했습니다. 질문을 수정하고 살펴 봅니다. –