Ich habe ein Python-Skript und eine Kivy-Datei, um die Schnittstelle zu erstellen.kivy: Wie aktualisiere ich eine Objekteigenschaft?
Ich möchte den Text in einem Etikett dynamisch durch Pythons Eingang (Netzwerkeingang) aktualisieren.
Also habe ich eine Eigenschaft für das Haupt Kivy widget:
class UserForm(BoxLayout):
txt = StringProperty("")
innerhalb von Kivy ich on_txt
verwenden einige Änderungen rufen innerhalb der Widgets unter:
<UserForm>:
orientation: 'vertical'
name: name_input.text
barcode: barcode_input.text
on_txt: print ("Aha"); barcode_label.text = "I CHANGED FOR THE BETTER"
Label:
id: barcode_label
text: "barcode (EAN or SN):"
font_size: 30
Es druckt "Aha" und wirft keine Fehler, aber es ändert auch nicht den Text des Etiketts.
Schätzen Sie jede Hilfe oder einen Hinweis!
thx! das zweite war was ich suchte. das erste scheint noch attraktiver, aber schneller Test hatte nicht die gewünschte Wirkung (blieb auf kivy Sprache definierten Text). – gauguerilla
aber Follow-up: Wie würde ich die Changetext() -Methode von Python aufrufen und immer noch das gleiche Update bekommen? z.B. wenn ich einen anderen Thread habe, der mit einem Server läuft, der auf Netzwerksignale wartet, oder wenn Python Eingaben verarbeitet, bevor er sie an die kivy-Widgets zurückgibt ... – gauguerilla
Ich denke nicht, dass du diese Funktion außerhalb dieser Klasse aufrufen kannst. Aber erkläre genau, was du willst, versuche mein Bestes, um dir zu helfen, wenn du den Bildschirm auffrischen willst, kann ich dir dabei helfen oder so? Können Sie bitte erklären Sie Ihr Programm abit mehr, so verstehe ich, was Sie tun müssen – Abul