Frage zu Turtle

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
bobbelsche
User
Beiträge: 2
Registriert: Mittwoch 17. November 2010, 09:41

Hallo Ihr,
ich versuche verzweifelt bei jedem drücken der taste 'x' einen neuen textinput zu bekommen.
-> leider geht das nur einmal, warum?
-> wenn ich dagegen den input für die konsole nehme (siehe kommentar in klasse) funktioniert es.
weiss jemand wie ich das auch mit "textinput" und nicht mit "input" hinbekomme?

Code: Alles auswählen

from turtle import *
class MyApp(Turtle):
    def __init__(self):
        Turtle.__init__(self)
        
    def ask(self):
        #ein = input("Frage:")
        ein = self.screen.textinput("Frage", "Frage:")
        self.write(ein)

    def run(self):
        self.screen.onkeypress(self.ask, "x")
        self.screen.listen()
        self.screen.mainloop()

if __name__ == "__main__":
    app = MyApp()
    app.run()
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

bobbelsche hat geschrieben:weiss jemand wie ich das auch mit "textinput" und nicht mit "input" hinbekomme?
Du musst in der Methode ask() noch einmal explizit "lauschen" lassen, nachdem der Eingabedialog beendet ist:

Code: Alles auswählen

self.screen.listen()
bobbelsche
User
Beiträge: 2
Registriert: Mittwoch 17. November 2010, 09:41

Hurra, es klappt.
vielen, vielen Dank!
Antworten