2016-12-02 50 views
-1

我想用按Ctrl +Q鍵盤快捷鍵爲子菜單按鈕退出... 我在這裏是一個非常初學者,我將是添加的代碼和解釋感激。爲此代碼添加鍵盤快捷鍵?

#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() 

######################## 
+1

您是否嘗試過'root.bind( '',退出)'信息添加到菜單? – TigerhawkT3

回答

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")