Je crée une étiquette qui devrait être mise à jour toutes les secondes. J'ai essayé de le faire avec le programme d'horloge, mais cela ne semble pas fonctionner. L'étrange est que si j'utilise un bouton pour appeler la même fonction, cela fonctionne très bien.Problème avec kivy Horloge de mise à jour de l'horloge
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty
from kivy.clock import Clock
class FirstLayout(BoxLayout):
r = 0
def __init__(self, **kwargs):
super(FirstLayout, self).__init__(**kwargs)
self.change = self.ids.temp_label
def my_callback(self, *args):
self.r += 1
print self.r
t = str(self.r)
self.change.text = t
class TryApp(App):
def build(self):
Clock.schedule_interval(FirstLayout().my_callback, 1)
return FirstLayout()
app = TryApp()
app.run()
le fichier .kv:
<FirstLayout>:
orientation: 'vertical'
Label:
id: temp_label
text: 'something'
Button:
on_press: root.my_callback()
Quand je lance le code je reçois les impressions montrant que la fonction est en cours d'exécution, mais l'étiquette ne met pas à jour. Quelque chose ne va pas avec ma logique là-bas?
Merci d'avance.
PS: Je sais qu'il ya plusieurs questions à ce sujet ici, malheureusement ceux que je trouve ont été répondu avec des réponses sur l'utilisation de l'horloge que je fais déjà
Problème résolu! Merci beaucoup. Je suppose que j'ai encore beaucoup à apprendre sur python. – Thiago