【发布时间】:2020-10-12 16:38:44
【问题描述】:
我没有太多的课程经验,但我需要使用它创建一个项目,所以我不得不这样做。问题是我迷失了'self',因为在'AddToDo'函数中我想从'init'函数追加到列表中,但它说'Button'对象没有属性'to_dos '。那么我怎样才能在列表'to_dos'中追加?我还需要注意,这段代码真的很简单。
class ToDoList(FloatLayout):
def __init__(self,**kwargs):
super(ToDoList,self).__init__(**kwargs)
with open('todolist_demo.json','r') as f:
data = json.load(f)
self.to_dos = data
to_do_but = Button()
to_do_but.bind(on_press=ToDoList.CreateToDo)
self.add_widget(to_do_but)
def CreateToDo(self):
but = Button()
def AddToDo(self):
self.to_dos.append(9)
but.bind(on_press=AddToDo)
self.add_widget(but)
【问题讨论】:
-
您的 AtddToDo 看起来不错,但您确实有一个问题,
on_press=ToDoList.CreateToDo应该是on_press=self.CeateToDo
标签: python-3.x class kivy