【发布时间】:2021-12-15 11:08:46
【问题描述】:
所以我是 kivy 的新手,我构建了这个,但我不明白为什么它不会更新。打印时,列表正在更新,而不是标签本身。
main.py
class MasukTol(Screen):
ubahintsaldo = [str(int) for int in nyimpen.saldoawal]
textsaldo = ''.join(ubahintsaldo)
n = 0
def masukkansaldo(self):
self.instruksimasuk = "Silakan masukan \n saldo Anda!"
def updatesaldo(self):
self.ubahintsaldo = [str(int) for int in nyimpen.saldoawal]
self.ids.textsaldo = ''.join(str(nyimpen.saldoawal))
return self.ids.textsaldo, self.ubahintsaldo
def pencetsatu(self):
if self.n < 6:
nyimpen.saldoawal[self.n]=1
self.n +=1
self.updatesaldo()
print(nyimpen.saldoawal)
print(self.n)
return nyimpen.saldoawal, self.n
kv文件
<MasukTol>:
Label:
id: Saldo
text: root.textsaldo
# Nomor 1
Button:
background_normal: "photos/atm_1.png"
background_down: "photos/atm_down_1.png"
allow_stretch: True
keep_ratio: False
size_hint: 0.11, 0.141
pos_hint:{"x":root.kiri_atm, "y":root.atas_atm}
on_release:
root.pencetsatu()
我制作了一个单独的 python 文件来跟踪每件事。
nyimpen.py
saldoawal = [0,0,0,0,0,0]
【问题讨论】:
-
更好地创建我们可以简单地复制和运行的最小工作代码。
-
int是函数int()的保留名称,所以最好不要将其用作变量。 -
您需要将
MasukTol.textsaldo设置为kivy.properties.StringProperty才能创建自动更新标签的绑定
标签: python user-interface kivy