[Python / Tkinter] Verbinden Sie die Tastenkombinationen mit dem Menü

Einführung

Im Menü von Tkinter können Sie es schön aussehen lassen, indem Sie die Beschleunigeroption angeben, wenn Sie eine Menüschaltfläche mit Befehlen hinzufügen. In Wirklichkeit werden jedoch keine Tastaturkürzel aktiviert. Die Verknüpfung mit der Methode ist erforderlich. Hier ist ein Beispiel dafür.

Stichprobe

import tkinter as tk
from tkinter import ttk


class Application(tk.Frame):
    def __init__(self,master):
        super().__init__(master)
        self.pack()
        self.master.geometry("300x300")
        self.master.title("Menubar Sample")
        self.create_menubar()

    def create_menubar(self):
        menubar = tk.Menu(self)
        file_menu = tk.Menu(menubar, tearoff=0)
        menubar.add_cascade(label="File", menu=file_menu)
        file_menu.add_command(label="Open", command=self.onOpen, accelerator="Ctrl+O")
        self.master.config(menu=menubar)
        self.bind_all("<Control-o>", self.onOpen)

    def onOpen(self, event=None):
        print("onOpen")


def main():
    root = tk.Tk()
    app = Application(master=root)
    app.mainloop()


if __name__ == "__main__":
    main()

OnOpen ist der Anwendung mit self.bind_all zugeordnet. Das Ereignis wird als Argument übergeben, wenn onOpen mit einer Tastenkombination ausgeführt wird, jedoch nicht, wenn direkt auf die Menüschaltfläche geklickt wird. Daher wird der Anfangswert des Ereignisses auf Keine gesetzt, um dem letzteren zu entsprechen. Wenn dies ein Problem ist, definieren wir es separat.

Recommended Posts

[Python / Tkinter] Verbinden Sie die Tastenkombinationen mit dem Menü
Verbinden Sie Python mit MySQL
Stellen Sie mit Python eine Verbindung zu BigQuery her
Stellen Sie mit Python eine Verbindung zu Wikipedia her
So aktualisieren Sie Pythons Tkinter auf 8.6
Stellen Sie von Python aus eine Verbindung zu SQLite her
Stellen Sie von Python aus eine Verbindung zur utf8mb4-Datenbank her
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
[Python / Tkinter] Übergeben von Argumenten an den Befehl
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Stellen Sie mit dem Python-Interpreter von PEPPER Mac eine Verbindung zu Pfeffer her
Stellen Sie von Python aus eine Verbindung zur Websocket-API von coincheck her
Auf Python 2.7.9 aktualisiert
Einführung in Tkinter 1: Einführung
Stellen Sie eine Verbindung zu MySQL her
Wie man tkinter mit Python in Pyenv benutzt
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Verwenden Sie Tor, um eine Verbindung von urllib2 [Python] [Mac] herzustellen.
"Backport" zu Python 2
[Python] Tkinter-Vorlage
[Python] Ändern Sie die Standardeingabe von der Tastatur in eine Textdatei
[Python] tkinter Code, der wahrscheinlich wiederverwendet wird
So installieren Sie Python
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Schreiben Sie Python2-Code in Python3 um (2to3)
Einführung in die Python-Sprache
Einführung in OpenCV (Python) - (2)
Beachten Sie, dass Python ein Daemon ist
Einführung von Python 2.7 in CentOS 6.6
Python Tkinter Primer Hinweis
Herstellen einer Verbindung zu verschiedenen DBs über Python (PEP 249) und SQL Alchemy
Stellen Sie mit Pycoin (Python Cryptocoin Utili) eine Verbindung zum Bitcoin-Netzwerk her.
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Verbinden Sie Raspberry Pi mit "Python" mit der Alibaba Cloud IoT Platform