Hallöchen liebe Community!
Ich wollte fragen, ob es möglich ist, die Tastenkombination Alt-F4 abzufangen, sodass sich das Fenster nicht schließt, sondern irgendwas anderes passiert.
Parallel auch anwendbar für Strg-Alt-Entf oder Ähnliches.
Eine Prüfung, ob Alt-F4 gedrückt wird, hab ich schon hingekriegt mit bind, aber weiter komm ich leider nicht.
Danke im Vorraus
Der Igel
Tastenkombinationen abfangen (Alt - F4)
-
- User
- Beiträge: 49
- Registriert: Montag 29. Oktober 2007, 20:10
- Wohnort: Berlin
- Kontaktdaten:
Ich denke nicht, dass es eine allgemeine Lösung gibt - lasse mich aber gerne auch vom Gegenteil überzeugen.
Bestimmte Shortcuts fängt das Betriebssystem bzw. der Windowmanager einfach ab. Je nach Betriebssytem/Windowmanager kann man dort ja einiges einstellen.
Um zu vermeiden, dass ein bestimmter Shortcut abgefangen wird, müsste man ihn ganz aktivieren. Dann sollte die Bindung mit Tkinter funktionieren.
Für den Sonderfall <Alt>-<F4> kenne ich allerdings eine Lösung:
Das funktioniert auch beim Klick auf [X].
Edit: Statt wm_protocol() genügt auch protocol().
Bestimmte Shortcuts fängt das Betriebssystem bzw. der Windowmanager einfach ab. Je nach Betriebssytem/Windowmanager kann man dort ja einiges einstellen.
Um zu vermeiden, dass ein bestimmter Shortcut abgefangen wird, müsste man ihn ganz aktivieren. Dann sollte die Bindung mit Tkinter funktionieren.
Für den Sonderfall <Alt>-<F4> kenne ich allerdings eine Lösung:
Code: Alles auswählen
import Tkinter as tk
def onAltF4():
# Mach noch irgendetwas
label["text"] = "In 3 seconds I'm gone ..."
root.after(3000,quitnow)
def quitnow():
root.quit()
root.destroy()
root = tk.Tk()
label = tk.Label(root,text="Close the window, please!")
label.pack()
root.wm_protocol("WM_DELETE_WINDOW",onAltF4)
root.mainloop()
Edit: Statt wm_protocol() genügt auch protocol().
-
- User
- Beiträge: 49
- Registriert: Montag 29. Oktober 2007, 20:10
- Wohnort: Berlin
- Kontaktdaten:
Cool.
Das funzt schon mal. Aber ich würd nun auch gern den Druck auf die WIN-Tasten oder die Kombi Strg-Alt-Entf abfangen. Eben komplett unterbinden, dass das Fenster auf ne andere Art zugemacht werden kann, als ich es erlaube.
Das funzt schon mal. Aber ich würd nun auch gern den Druck auf die WIN-Tasten oder die Kombi Strg-Alt-Entf abfangen. Eben komplett unterbinden, dass das Fenster auf ne andere Art zugemacht werden kann, als ich es erlaube.
WIN-Tasten legt nahe, dass es um Windows geht. Bei Windows XP ist aber Strg-Alt-Entf wohl nicht abzufangen: http://www.c-plusplus.de/forum/viewtopi ... -is-0.html und http://www.c-plusplus.de/forum/viewtopic.php?t=39146
MfG
HWK
MfG
HWK