Seite 1 von 1

Frage zu Turtle

Verfasst: Montag 27. Juni 2011, 10:58
von bobbelsche
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()

Re: Frage zu Turtle

Verfasst: Montag 27. Juni 2011, 11:35
von numerix
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()

Re: Frage zu Turtle

Verfasst: Montag 27. Juni 2011, 11:50
von bobbelsche
Hurra, es klappt.
vielen, vielen Dank!