나는 "Kivy에서 앱 만들기"라는 책을 집필 한 Dusty Phillips가 제안한 간단한 todo-list 응용 프로그램을 작성하여 kivy를 배우려고합니다.Python Kivy ListView : 선택한 ListItemButton을 삭제하는 방법?
이 지금까지 코드 :
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty
from kivy.uix.listview import ListItemButton
class TaskButton(ListItemButton):
pass
class TodoRoot(BoxLayout):
task_input = ObjectProperty()
task_list = ObjectProperty()
def add_task(self):
self.task_list.adapter.data.extend([self.task_input.text])
self.task_list._trigger_reset_populate()
def del_task(self):
pass
class TodoApp(App):
def build(self):
return TodoRoot()
if __name__ == '__main__':
TodoApp().run()
는 그리고 이것은 KV 파일입니다 : I리스트 뷰 API를 알고
:
#: import main todo
#: import ListAdapter kivy.adapters.listadapter.ListAdapter
#: import ListItemButton kivy.uix.listview.ListItemButton
TodoRoot:
<TodoRoot>:
orientation: "vertical"
task_input: task_input_view
task_list: tasks_list_view
BoxLayout:
size_hint_y: None
height: "40dp"
TextInput:
id: task_input_view
size_hint_x: 70
Button:
text: "Add"
size_hint_x: 15
on_press: root.add_task()
Button:
text: "Del"
size_hint_x: 15
on_press: root.del_task()
ListView:
id: tasks_list_view
adapter:
ListAdapter(data=[], cls=main.TaskButton)
이는 것처럼 보이는 것입니다 아직 다소 실험적이며 어댑터/변환기, Google & SO 검색을 사용하여 예제에 대해 불평하고 있습니다. 어느 쪽도 도움이되지 않습니다. Del-Button을 작동시키고 선택된 ListItemButton을 제거하기 위해 어떤 코드가 필요합니까?