Rafraichir un text label dans kivy
Bonjour!!
Je tiens a signaler que j'apprends tout seul a programmer et que je suis plus si jeune(snif) et donc des fois je percute pas ou j'ai du mal!!!
Je suis en train de bidouiller un compte a rebours avec python et kivy.
tout fonctionne dans le terminal mais mon interface ne rafraichit pas le texte du label à savoir le décompte...
voila le code:
mon fichier .py
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
import time
from playsound import playsound
class MyLayout(BoxLayout):
def update_time(self, *args):
self.ids.label.text = str(self.ids.input.text)
def decompte(self, *args):
t = int(self.ids.label.text)
while t:
time.sleep(1)
t -= 1
print(t)
self.ids.label.text = str(t)
if t == 3 or t == 2 or t == 1:
playsound("ressources/bip.wav")
elif t == 0:
playsound("ressources/fin.wav")
print("Over")
self.ids.label.text = "OVER"
class CountdApp(App):
pass
CountdApp().run() |
et mon fichier .kv
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
MyLayout:
<MyLayout>:
orientation: "vertical"
BoxLayout:
BoxLayout:
orientation: "vertical"
TextInput:
id: input
font_size: 100
halign: "center"
BoxLayout:
Button:
text: "set"
font_size: 40
on_press: root.update_time();
Button:
id: button
text: "GO"
font_size: 40
on_press: root.decompte()
Label:
id: label
text: ""
font_size: 100 |
Je ne comprends pas pourquoi à la fin du décompte le text label se met à jour en écrivant "over" et que rien ne sa passe pendant le décompte...
Si quelqu'un a une piste à me donner , je suis preneur , là je suis dans le noir...
merci d'avance