Python Kivy按钮和变量的问题

Python Kivy按钮和变量的问题,python,button,kivy,Python,Button,Kivy,我正在尝试制作一个健康系统,我有一个宝石的图像,当我点击“增加人性”按钮时,另一个宝石会出现在它的右边。 我还有一个“减少人性”按钮,可以移除宝石 我使用一个变量作为for循环的范围。 例如 然后,正如我所说的,两个按钮将增加或减少当前值变量 当我点击按钮增加生命值时,另一个宝石会出现。 当我点击减少按钮时,当前_值会下降,但宝石图像不会更新 因此,代码可以添加一个图像,但不能准确地更新任何内容 我想我需要将“for循环”从按钮代码中去掉,但是如何更新当前的_值呢 当我还在学习kivy的时候,我

我正在尝试制作一个健康系统,我有一个宝石的图像,当我点击“增加人性”按钮时,另一个宝石会出现在它的右边。 我还有一个“减少人性”按钮,可以移除宝石

我使用一个变量作为for循环的范围。 例如

然后,正如我所说的,两个按钮将增加或减少当前值变量

当我点击按钮增加生命值时,另一个宝石会出现。 当我点击减少按钮时,当前_值会下降,但宝石图像不会更新

因此,代码可以添加一个图像,但不能准确地更新任何内容

我想我需要将“for循环”从按钮代码中去掉,但是如何更新当前的_值呢

当我还在学习kivy的时候,我已经选择了在我了解一切工作原理之前不要使用.kv文件

因此,我正在寻找一种方法,使一个按钮增加/减少一个变量,并相应地更新图像

我发现kivy很难理解,因为似乎没有一个while循环? 在过去的6个月里,我一直在为“pc”学习python,一切都合乎逻辑,代码在while循环中自上而下读取;但我发现,对于kivy,我真的不知道该把代码放在哪里

构建函数的作用是什么?
为什么有些YouTuber将所有内容都放在它里面,而其他人只是将它留空,然后在init函数中构建代码?

Kivy并不难理解,一般来说,UI程序没有任何循环。我认为你的问题更多地与你如何编写代码有关。对于Kivy,您最好使用.kv文件和.py文件,这将使您更容易理解所有内容。你可以很容易地在kv文件中使用GridLayout做一些事情,当按下按钮时,你可以在上面添加一个图像。你说你的问题是“减少人性”,但你只向我们显示了“增加人性”代码。减少是完全相同的,但使用-=和不+=
current_Humanity_value = 1



self.Humanity_Up = Button(text='Increase Humanity',
                          pos_hint={'center_x': 0.25, 'center_y': 0.65},
                          size_hint=(0.1, 0.1))

self.Humanity_Up.bind(on_release=self.increase_current_Humanity_value)


def increase_current_Humanity_value(self, button):
    global current_Humanity_value

    current_Humanity_value += 1

    x = 0.1
    y = 0.1
    for i in range(current_Humanity_value):
        x += 0.05
        self.add_widget(Image(source='./Images/Humanity_gem.png',
                              pos_hint={'center_x': x,
                                        'center_y': y}))