如何在单击按钮时更新猕猴桃中的标签

问题描述 投票:0回答:1

我真的很讨厌与此主题相关的搜索。从来没有得到什么好答案...

python kivy kivy-language
1个回答
0
投票

很抱歉,您应该质疑您的搜索技能。请在下一次提供您已经尝试过的方法的最小示例,因为这样我可以帮助您正确地了解机制。当然,我可以简单地给您一个解决方案,但这对您完全没有帮助,因为通常会有不同的方法来获得相同的结果,但是在某些情况下,您应该首选一种方法而不是其他方法。

回到您的问题

这是一个简单的示例:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
import random

class MyApp(App):
    def build(self):
        self.layout = BoxLayout()
        self.btn = Button(text="press", on_press=self.my_btn_method)
        self.lbl = Label(text="")
        self.layout.add_widget(self.btn)
        self.layout.add_widget(self.lbl)

        return self.layout

    def my_btn_method(self, instance):
        self.lbl.text = str(random.randint(0,100))

MyApp().run()

说明:

每个Button类以及从Button类继承的每个类都具有on_press方法。

您基本上有两种可能性,要么编写您自己的自定义按钮类,然后在该类中覆盖on_press方法,要么编写一个自定义方法,然后将此方法分配给按钮属性on_press,如本例中那样。在执行此操作时,您的自定义方法必须将按钮实例作为属性。

要更改标签文本,我只需为标签文本属性分配一个新字符串。我真的希望这可以帮助您解决问题。如果您遇到困难,请写评论,我会尽力帮助您。

还有一个on_release方法,您可以使用与on_press方法相同的方式。

© www.soinside.com 2019 - 2024. All rights reserved.