Seite 1 von 1

Tastaturabfrage, die übersprungen wird

Verfasst: Montag 27. August 2007, 10:54
von Robin
Hallo Python-Forum,

wie kann ich in eine Endlosschleife eine Tastaturabfrage einbauen,
die, solange keine Eingabe gemacht wird, übersprungen wird?

raw_input wartet auf die Eingabe und ist für die Anwendung nicht geeignet,
gibt es andere Möglichkeiten?

Gruß Robin

Verfasst: Montag 27. August 2007, 11:26
von Rebecca
Was hast du denn vor? Wenn du eine Eingabe brauchst, waehrend das eigentliche Programm weiterarbeitet, solltest du dich mal mit Threads befassen.

Verfasst: Montag 27. August 2007, 12:46
von Robin
Mein Vorhaben:
Es werden zyklisch mehrere Geräte abgefragt. Bei einer Eingabe
sollte immer nur ein bestimmtes Gerät in der Schleife abgefragt werden.
Am besten Zahlenwert mit Enter eingeben können, ansonsten soll die Schleife laufen und alle Geräte abfragen

Kannst Du mir da etwas mehr auf die Sprünge helfen.
Bei PyGames gibt es auf Möglichkeiten, events abzufragen, aber das ist wohl
zu kompliziert.

Verfasst: Dienstag 28. August 2007, 13:39
von Robin
Rebeccas Thread Vorschlag und der Code vom Schlangenbeschwörer aus dem Forum haben mich weitergebracht, darauf kann ich aufbauen. Hier der Code vom Schlangenbeschwörer. Danke!!!

Code: Alles auswählen

import Tkinter as tk
import time
import thread
def counter():
    i = 1
    while 1:
        countvar.set(str(i))
        i += 1
        time.sleep(1)
root = tk.Tk()
countvar = tk.StringVar()
label = tk.Label(root, textvariable = countvar, font = ("Comic Sans MS", 20))
label.pack()
thread.start_new_thread(counter, ())
root.mainloop()

Verfasst: Dienstag 28. August 2007, 14:07
von gerold
Hallo Robin!

Es wäre echt super, wenn du deinen Code in Code-Tags legen würdest. --> http://www.python-forum.de/faq.php#21

mfg
Gerold
:-)

Verfasst: Mittwoch 29. August 2007, 07:23
von Robin
Also so Gerold, sieht wirklich besser aus!

Code: Alles auswählen

import Tkinter as tk
import time
import thread
def counter():
     i = 1
while 1:
     countvar.set(str(i))
     i += 1
     time.sleep(1)
root = tk.Tk()
countvar = tk.StringVar()
label = tk.Label(root, textvariable = countvar, font = ("Comic Sans MS", 20))
label.pack()
thread.start_new_thread(counter, ())
root.mainloop()

Verfasst: Mittwoch 29. August 2007, 12:51
von Leonidas
Robin hat geschrieben:Also so Gerold, sieht wirklich besser aus!
Und jetzt noch den vorherigen Post editieren und das auch dort in Code-Tags setzen.

Verfasst: Mittwoch 29. August 2007, 13:26
von Robin
Zufrieden?

Verfasst: Mittwoch 29. August 2007, 15:08
von Leonidas
Robin hat geschrieben:Zufrieden?
Ja, dankeschön 8)