为此代码添加键盘快捷键?

问题描述 投票:-1回答:1

我想使用Ctrl + Q作为该子菜单按钮的键盘快捷键EXIT ...我是一个非常初学者,我会感激添加代码和解释。

    #RPi_CPC GUI
from Tkinter import *
from subprocess import call
import subprocess as sub
import os
import sys

#create the window
root = Tk()
root.configure(background="black")
#root.attributes('-fullscreen', True)

#MENU FUNCTIONS
def shutdown():
 call (["poweroff"]);
def reboot():
 call (["reboot"]);
def exit():
 quit();

#MENU###################
menu = Menu(root, bg="black", fg='chartreuse')
root.config(menu=menu)
subMenu = Menu(menu, bg="black", fg='red')
menu.add_cascade(label="Options", menu=subMenu)
subMenu.add_separator()
subMenu.add_command(label="POWER OFF", font="Courier 15 bold ", command=shutdown)
subMenu.add_separator()
subMenu.add_separator()
subMenu.add_command(label="RESTART RPI!", font="Courier 15 bold", command=reboot)
subMenu.add_separator()
subMenu.add_separator()
subMenu.add_command(label="EXIT", font="Courier 15 bold ", command=exit)
subMenu.add_separator()

########################
python tkinter
1个回答
2
投票

你必须使用

root.bind('<Control-q>', exit)

但是bind用参数event执行函数,所以你必须改变你的函数

def exit(event=None):
    quit()

现在它将与bind()command=合作。

您可以使用accelerator=向菜单添加信息

subMenu.add_command(label="EXIT", command=exit, accelerator="Ctrl+Q")
© www.soinside.com 2019 - 2024. All rights reserved.