2014-05-24 7 views
8

Hallo Ich muss dies tun, weil ich ein Matching/Memory-Spiel mache, und es muss eine Taste (Völlig getrennt von denen auf dem aktuellen Spiel), dass, wenn ich es drücke, es die passenden Karten zeigen muss automatisch, ohne die Tasten mit der Maus zu berühren.Gibt es eine Möglichkeit, einen Knopf zu drücken, ohne es auf tkinter/python zu berühren?

Gibt es eine "Press" -Funktion oder etwas ähnliches zum Drücken der Taste?

Danke! :)

+1

Welche Benutzereingabe soll die Taste drücken, wenn nicht ein Mausklick? Wenn Sie möchten, dass das Programm die Daten anzeigt, ohne dass der Benutzer etwas ausführt, müssen Sie keinen Knopfdruck simulieren. Sie können nur die Funktion auslösen, die der Tastendruck aktiviert hätte. – user2357112

+4

Ich schlage vor, Sie trennen die UI-Logik von der Spiellogik ein wenig. Anstatt den Knopf programmgesteuert zu drücken, rufen Sie einfach denselben Callback auf (das, was Sie in das 'command =' Argument setzen). –

Antwort

10

Wie Joel Cornett in einem Kommentar vorschlägt, könnte es sinnvoller sein, einfach den Callback aufzurufen, den Sie an die Schaltfläche übergeben haben. Wie jedoch in der docs beschrieben, wird die Methode dieselbe Wirkung haben wie das Drücken der Taste (und wird das Ergebnis des Rückrufs zurückgeben), mit dem leichten Vorteil, dass sie keine Wirkung hat, wenn die Taste momentan deaktiviert ist oder nein hat Rückrufen.

+1

Hinweis: Wenn die Taste gedrückt wird, wird sie hervorgehoben und bleibt markiert, bis der Rückruf abgeschlossen ist. Sie verlieren dieses Verhalten, wenn Sie den Rückruf direkt aufrufen. –

+0

Dies ist gut zum Simulieren von Benutzeraktivität, zum Beispiel in einem (klassischen) Mac OS 1983 Monkey-Stil Fuzzer. – wizzwizz4

Verwandte Themen