3

我读了这个那个标签。我有函数回调错误,标签有 NoneType。

class Root(FloatLayout):

    def callback( self, label, instance, *args ):
        ## Try to pass Button.text to the label,
        ## but type(label) is a NoneType
        label.text = instance.text # here
        print(label, type(label))


    def load_content(self):
        content = self.content

        for but in range(65, 67):
            content.add_widget(Button( text=chr(but),
                on_press = partial(self.callback, self.lbl),
                font_size=20 ))

    content = ObjectProperty(None)
    lbl = ObjectProperty(None)
4

1 回答 1

0

查看您作为标签值传入的内容。

你得到一个类似于这样的堆栈:

def my_callback(label, instance):            
    label.text = instance.text

my_callback(None, None)

Traceback (most recent call last):
  File "***/vars.py", line 34, in <module>
    my_callback(None, None)
  File "***/vars.py", line 32, in my_callback
    label.text = instance.text
AttributeError: 'NoneType' object has no attribute 'text'

如果是这样,您的源标签是 NoneType ,您将需要跟踪它。

于 2013-11-05T19:31:25.690 回答