Bind von Return-Taste und Button command
Verfasst: Freitag 18. März 2011, 00:34
Hi zusammen,
ich schreibe gerade an der Software für ein wissenschaftliches Experiment. Dabei erheben wir auch die Reaktionszeit. Nun habe ich eine alte Version des Programms übernommen, jedoch müssen die Versuchspersonen dort nach Eingabe auf "OK"-Klicken, was natürlich die Reaktionszeitmessungen verunreinigt.
Der relevante Teil des Programms, clientseitig, sieht etwa so aus:
Dabei sind button, entry & root ziemlich simpel festgelegt als:
Mir ist klar, dass ich mit button.config(state = NORMAL) eine "Aufmerksamkeitsphase" (sorry für das fehlende Fachvokabular, ich bin noch relativ neu
) festlege, die die mainloop beendet, sobald auf den Button geklickt wird. Also müsste ich eigentlich nur ein bind("<Return>", root.quit) hinter root.mainloop schreiben und damit sollte nur genau während dieser Phase (wir wollen ja nicht, dass die Versuchspersonen via Return das Programm jederzeit crashen können) das Drücken der Return-Taste zum entry.get() führen.
Am Konjunktiv ist hier natürlich zu bemerken, dass die Praxis leider nur so präzise ist wie die ihr zu Grunde gelegte Theorie. Ich wäre also sehr dankbar über eure Hilfe.
Sonnige Grüße aus Kalifornien
Pete
ich schreibe gerade an der Software für ein wissenschaftliches Experiment. Dabei erheben wir auch die Reaktionszeit. Nun habe ich eine alte Version des Programms übernommen, jedoch müssen die Versuchspersonen dort nach Eingabe auf "OK"-Klicken, was natürlich die Reaktionszeitmessungen verunreinigt.
Der relevante Teil des Programms, clientseitig, sieht etwa so aus:
Code: Alles auswählen
while 1:
if
....
elif data == "@end \n":
root.focus_set()
button.config(state = NORMAL)
entry.destroy()
entry = Entry(root, width=12, font = ("Helvetica", "20"))
entry.insert(0, "$")
entry.pack()
root.mainloop()
str = entry.get()
entry.delete(0, END)
root.update()
sock.send(str[:+10] + " \n")
Code: Alles auswählen
root = Tk()
entry = Entry(root)
def buttonCommand():
root.quit()
button = Button(root, text = "OK", command = buttonCommand, font = "Helvetica, 20")
button.pack()

Am Konjunktiv ist hier natürlich zu bemerken, dass die Praxis leider nur so präzise ist wie die ihr zu Grunde gelegte Theorie. Ich wäre also sehr dankbar über eure Hilfe.
Sonnige Grüße aus Kalifornien
Pete