위젯을 추가 할 때와 똑같은 작업을 시도하고 있지만 성공하지는 못했습니다. kv 언어 및 바인드 기능을 사용하고 있습니다. 아래 코드를 사용하면 버튼을 동적으로 추가 할 수 있지만 제거 할 수는 없습니다.kivy에서 위젯을 제거하려면 어떻게해야합니까?
평
class PrimeiroScreen(Screen):
def __init__(self, **kwargs):
self.name = 'um'
super(Screen,self).__init__(**kwargs)
def fc2(self):
btn = Button(text="Botão",size_hint=(.1,.1))
self.ids.grade2.add_widget(btn)
btn.bind(on_press=self.printa)
def printa(self,*args):
#btn2 = Button(text="Btn2",size_hint=(.1,.1))#I can add another btn succesfully
self.ids.grade2.add_widget(btn2)#but I can do the same by this way
self.remove_widget(btn)
grade2.remove_widget(self.btn)
및
<RootScreen>:
PrimeiroScreen:
<PrimeiroScreen>:
GridLayout:
cols: 1
size_hint: (.5,1)
id: grade
Button:
text: "hi!"
on_press: root.fc2()
StackLayout:
orientation: 'bt-rl'
GridLayout:
cols: 2
size_hint: (.5,1)
id: grade2
이 사람에게 내가 만든 실수의 어떤 생각을 가지고 .kv?
self.remove_widget(btn)
NameError: global name 'btn' is not defined
'widget_to_remove.parent.remove_widget (widget_to_remove)처럼 제거' –