2
によって削除ウィジェット私は次のコードを持っている:Kivy - ID
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
class GUI(FloatLayout):
def remove(self):
self.remove_widget(self.ids.test)
class GUIApp(App):
def build(self):
return GUI()
if __name__ == '__main__':
GUIApp().run()
とそれに対応するkv
ファイル:クリックされたとき
#:kivy 1.9.1
<GUI>:
BoxLayout:
Button:
id: test
text: 'Test'
on_press: root.remove()
ボタンを削除する必要があります。しかし、これは起こりません。 kvファイルのBoxLayout
を削除すると、プログラムは正常に動作し、ボタンは削除されます。なぜこれが起こるのですか?kvファイルで宣言されているウィジェットを削除するにはどうしたらいいですか? (私はボタンのon_press
self.parent.remove_widget(self)
とを置き換えることができます知っているが、私はウィジェットを削除する以外にroot.remove()
のコードを持っている。)