【发布时间】:2020-06-03 20:33:46
【问题描述】:
刚开始学习kivy
代码有什么问题?它给出了错误
发生异常:TypeError
new_tbox() 缺少 1 个必需的位置参数:'instance'
class grid(GridLayout):
def __init__(self, **kwargs):
super(grid, self).__init__(**kwargs)
self.left_side = GridLayout()
self.left_side.cols = 1
self.left_side.add_widget(Label(text = "Add the words you want to the dictionary! : "))
self.text_boxes = GridLayout()
self.text_boxes.cols = 1
self.text_boxes.add_widget(TextInput(multiline = False))
self.text_boxes.add_widget(TextInput(multiline = False))
self.cols = 2
self.add_widget(self.left_side)
self.add_widget(self.text_boxes)
self.text_add = Button(text = "add a new word", font_size = 30)
self.add_widget(self.text_add)
self.text_add.bind(on_press = self.new_tbox)
def new_tbox(self, instance):
self.text_boxes.add_widget(TextInput(multiline = False))
class first_app(App):
def build(self):
return grid()
first_app().run()
【问题讨论】:
-
你的
new_tbox()方法是一个类的成员吗? -
您发布的代码似乎有缩进问题。请编辑您的帖子以显示正确的缩进。
-
啊,真的谢谢你,我的错!
-
再次,注意到现在,已修复
-
如果缩进现在是正确的,那么
new_tbox()不是grid类的成员,并且不应该有self参数。如果new_tbox()不是grid类的成员,self.text_add.bind(on_press = self.new_tbox)也将不起作用。
标签: python kivy typeerror instance