Ich fragte mich, ob jemand weiß, wie man Tastenklicks in eine Textdatei speichert. Zum Beispiel, wenn eine Taste mit dem Text "Hallo" gedrückt wird; es speichert dann das in einer Textdatei, um zu zeigen, dass der "hallo" Knopf gedrückt wurdeGibt es eine Möglichkeit, zu speichern, welche Tasten in eine Textdatei gedrückt werden
Antwort
Nein, dort ist nichts eingebaut. Sie müssen kundenspezifische Einbindungen hinzufügen.
Sie könnten z. B. eine Klassenbindung für die Klasse Button
hinzufügen. Zum Beispiel:
root.bind_class("Button", "<ButtonPress-1>", log_buttonpress, add="+")
können Sie dann eine Methode definieren log_buttonpress
genannt, die etwa wie folgt aussieht:
def log_buttonpress(self, event):
with open("/tmp/log.txt", "a+") as f:
f.write("=> " + event.widget.cget("text") + "\n")
Natürlich wird dies nur Klicks mit der Maus erfassen. Es werden keine Schaltflächen erfasst, die mit der Tastatur angeklickt wurden. Außerdem wird der Befehl für die Schaltfläche nicht aufgerufen, bis Sie die Schaltfläche loslassen, sodass möglicherweise Schaltflächen protokolliert werden, auf die geklickt, aber nicht tatsächlich aktiviert wurde. Diese Probleme sind lösbar, erfordern aber mehr Code. Dies zeigt nur das allgemeine Konzept, keine Cut-and-Paste-Lösung.
Eine andere Möglichkeit, eine eigene Unterklasse von Button
zu erstellen und diese spezielle Bindung jeder Instanz hinzuzufügen. Durch die Verwendung von Binde-Tags können Sie jeder Instanz ein spezielles Tag hinzufügen, und dann müssen Sie nur eine einzelne Bindung für dieses Tag haben.
Zum Beispiel:
class MyButton(tk.Button):
def __init__(self, *args, **kwargs):
tk.Button.__init__(self, *args, **kwargs)
bindtags = list(self.bindtags())
bindtags.insert(1, "MyButton")
self.bindtags(tuple(bindtags))
@classmethod
def log_button(cls, event):
with open("/tmp/junk.txt", "a+") as f:
f.write("?> " + event.widget.cget("text") + "\n")
...
root = tk.Tk()
root.bind_class("MyButton", "<ButtonRelease-1>", MyButton.log_button)
b1 = MyButton(...)
b2 = MyButton(...)
Danke :) das hat mir so sehr geholfen :) – Supertraff
- 1. Gibt es eine Möglichkeit, IEnumerable zu speichern oder zu speichern?
- 2. Gibt es eine Möglichkeit, in Netbeans 8 automatisch zu speichern?
- 3. Gibt es eine Möglichkeit, Sonderzeichen aus einer Textdatei zu entfernen?
- 4. ADAM - Gibt es eine Möglichkeit, anwendungsspezifische Attribute zu "speichern"?
- 5. Gibt es eine Möglichkeit zu identifizieren, welche JS window.console überschreibt?
- 6. Gibt es eine Möglichkeit, eine große Textdatei Zeile für Zeile in kdb zu laden?
- 7. Gibt es eine Möglichkeit, Daten von Textdatei in Dataset einzufügen?
- 8. Gibt es eine bessere Möglichkeit, diese Datenbank zu speichern?
- 9. Java gibt es eine Möglichkeit zu sehen, ob eine Taste gedrückt wurde, ohne zu blockieren?
- 10. Gibt es eine Möglichkeit, einen InputStream zu speichern/zwischenzuspeichern?
- 11. LibGDX - Gibt es eine maximale Anzahl von Tasten, die gleichzeitig gedrückt werden können?
- 12. Gibt es eine Möglichkeit, eine abgelaufene SESSION-Variable zu aktualisieren?
- 13. Python - Gibt es eine Möglichkeit, eine Operation (+ - * /) in einer Liste oder als Variable zu speichern?
- 14. Gibt es eine Möglichkeit, welche Klassen ein ClassLoader geladen hat?
- 15. Gibt es eine Möglichkeit, eine Textdatei zu schreiben und sie durch die vorherige ersetzen zu lassen?
- 16. Gibt es eine einfache Möglichkeit, eine Textdatei in Abschnitte mit ausgeglichenen Ausschnitten zu zerlegen?
- 17. Gibt es eine einfache Möglichkeit, eine strukturierte Textdatei in C# zu analysieren?
- 18. Gibt es eine Möglichkeit, ConfigurationManager.AppSettings zu überschreiben?
- 19. Gibt es eine Möglichkeit, "träge" zu lesen?
- 20. Gibt es eine Möglichkeit, Webkonsolenfehler zu erkennen?
- 21. Gibt es eine Möglichkeit, Fenstereigenschaften zu verbergen?
- 22. gibt es eine Möglichkeit, die Oracle-Datenbankinstanz Fehleranzahl zu kennen
- 23. Gibt es eine Möglichkeit, die Objektpermanenz in memcached zu garantieren?
- 24. Gibt es eine Möglichkeit, eine dynamisch zugewiesene Struktur zu initialisieren?
- 25. Gibt es eine Möglichkeit, leere Zeilen in Matlab zu erkennen?
- 26. Gibt es eine Möglichkeit, eine nicht serialisierbare Klasse zu serialisieren?
- 27. Gibt es eine Möglichkeit, die Elemente zu speichern, die aus jQuery.uniqueSort() in einer Variablen entfernt werden?
- 28. Gibt es eine Möglichkeit zu testen, ob ein Edelstein funktioniert? Oder eine Möglichkeit zu sehen, welche Funktionen es hat
- 29. Gibt es eine Möglichkeit, eine TXT-Datei zu lesen und jede Zeile im Speicher zu speichern?
- 30. Gibt es eine Möglichkeit herauszufinden, welche Datei require_once benutzt?
wenn Sie 'command =' oder 'bind()' mit jeder Taste, dann können Sie eine Funktion zuweisen, es zu tun. – furas