3

我希望 button1 在单击时编辑标签“etykietka”,但我不知道如何。你有什么想法吗?

class Zastepstwa (App):

def build(self):
    lista=WebOps().getList()
    layout = BoxLayout(orientation='vertical')
    etykietka = Label(text='aa', font_size=10)
    button1 = Button(text='aa')
    button1.bind(callback)
    layout.add_widget(etykietka)
    layout.add_widget(button)
    return layout

def callback (instance):
    newLabelText='kkk'
    #?
4

2 回答 2

4

你需要将你的标签传递给回调,一个很好的方法是使用部分函数

from functools import partial

更改回调签名

def callback(label, instance, *args):
    label.text='kkk'

然后像这样绑定回调

button1.bind(on_press=partial(callback, etykieta))

应该这样做。

于 2012-09-09T21:58:24.533 回答
1

此外,请确保您将回调函数缩进并直接在构建函数之后。否则回调函数将在绑定语句中被识别。

于 2014-03-25T12:46:47.450 回答