Rozdział 18 · Ostatnie poprawki
skróty klawiszowe
Ctrl+Z Ctrl+Y inne skróty są powiązane z root, nie tylko z płótnem.
Skróty klawiaturowe
| Kombinacja | Akcja |
|---|---|
Ctrl+Z | Undo - Cofnij ostatnią akcję |
Ctrl+Y | Redo - Spróbuj ponownie cofnąć akcję |
Ctrl+N | oczyścić płótno (po potwierdzeniu) |
Ctrl+S | zachowaj rysunek do JSON |
Ctrl+O | otworzyć zapisany rysunek |
goryachie_klavishi.py
self.root.bind("<Control-z>", lambda _e: self.undo())
self.root.bind("<Control-y>", lambda _e: self.redo())
self.root.bind("<Control-s>", lambda _e: self.save_document())
self.root.bind("<Control-o>", lambda _e: self.load_document())
self.root.bind("<Control-n>", lambda _e: self.clear_canvas())
Skróty klawiszowe — nie są uniwersalne między systemami operacyjnymi
Ctrl jest standardem dla Windows i Linux. Na macOS użytkownicy nawykowo czekają na Cmd, nie Ctrl — Tkinter nie zastępuje jednego drugim automatycznie. Pełne wsparcie wieloplatformowe wymagałoby osobnego sprawdzania sys.platform i wiązać oba warianty — ten rozdział się tym nie zajmuje, ale ważne jest, aby nie obiecywać tego, czego kod nie robi.Wiążące root, nie tylko Canvas — pamiętaj o Rozdziale 17
Skróty klawiszowe są zawieszone
self.root, nie włączaj self.canvas — powinny działać niezależnie od tego, który widżet okna jest aktualnie w ostrości. Gdyby aplikacja miała pole tekstowe (na przykład do podpisów do obrazka), musiałbyś uwzględnić te same zasady fokusu i bindtags, jak omówione w sekcji 17.11 — skróty klawiszowe nie powinny przechwytywać tekstu wprowadzanego w polu, w którym użytkownik wpisuje.Praktyka: Skróty klawiszowe aplikacji
Moduł tkinter otwiera natywne okno Python — wykonaj lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie