ich arbeite immer noch mit dem gegebenen COde und muss nun an einer anderen Stelle den Fokus setzen und die "Enter"-Eingabe abfangen. Hier ein Ausschnit des Codes (von mir geschrieben):
Code: Alles auswählen
self.panelCalibration.SetFocus()
self.panelCalibration.Bind(wx.EVT_KEY_DOWN, self.on_key_down)
def on_key_down(self, event):
print("success")
if event.GetKeyCode() == wx.WXK_RETURN:
self.EndModal(wx.ID_OK)
else:
event.Skip()
Zustand 1
Zustand 2
Beim Öffnen des Panels ist der 1. Zustand aktiv. Das ist gar nicht mal so schlecht, da ich nun (wie gewünscht) eine Zahl eingeben kann, welche direkt in der edit line erscheint. Jedoch wechselt das Feld dann in den 2. Zustand ("Editierzustand"?). Anhand der ausgegeben "success" Zeile konnte ich erkennen, dass lediglich beim allerersten Tastendruck meine "on_key_down" Funktion aufgerufen wurde; sobald ich weitertippe wird die Funktion nicht mehr aufgerufen.
Das 2. Problem ist, dass die "Enter"-Taste nicht erkannt wird: Wenn ich das Panel öffne und als ersten Tastendruck auf "Enter" tippe, dann erscheint keine "success" Zeile (= Funktion wird nicht aufgerufen).
Hoffe ihr könnt mir helfen =)