Tkinter Menu Alt快捷键
快捷键是某个菜单类别或是列表指令的英文字符串内为单一字母增加下画线,然后可以用Alt键先启动此功能,当菜单显示下画线字母时,可以直接按指定字母键启动该功能。设计方式是在下列两个方法内增加underline参数。
add_cascade(..., underline=n) # n代表第几个索引字母含下画线
add_command(..., underline=n) # n代表第几个索引字母含下画线
add_cascade( )的underline是为菜单类别增加字母下画线,add_command( )的underline是为命令列表增加字母下画线,上述索引从0开始计算。当然,在将所选择的字母处理成带有下画线时,必须适度选择具有代表性的字母,通常会是字符串的第一个字母。例如,File菜单可以选择F,Help菜单可以选择H,等等。有时候会发生字符串的第一个字母与先前的字母重复,例如,Save的S与Save As的S,这时第二个出现的字符串可以适当选择其他字母,可参考下列实例。
示例1
为菜单类别和列表命令建立快捷键。
from tkinter import *
from tkinter import messagebox
def newFile():
messagebox.showinfo("New File","New File")
def openFile():
messagebox.showinfo("Open File","Open File")
def saveFile():
messagebox.showinfo("Save File","Save File")
def saveAsFile():
messagebox.showinfo("SaveAs File","SaveAs File")
def aboutMe():
messagebox.showinfo("About Me","About Me")
root = Tk()
root.title("apidemos.com")
root.geometry("300x180")
menubar = Menu(root) # 建立最上层菜单
# 建立菜单类别对象,并将此菜单类别命名为File
filemenu = Menu(menubar)
menubar.add_cascade(label="File",menu=filemenu,underline=0)
# 在File菜单内建立菜单列表
filemenu.add_command(label="New File",command=newFile,underline=0)
filemenu.add_command(label="Open File",command=openFile,underline=0)
filemenu.add_separator()
filemenu.add_command(label="Save File",command=saveFile,underline=0)
filemenu.add_command(label="Save As File",command=saveAsFile,underline=5)
filemenu.add_separator()
filemenu.add_command(label="Exit",command=root.destroy,underline=0)
# 建立菜单类别对象,并将此菜单类别命名为Help
helpmenu = Menu(menubar)
menubar.add_cascade(label="Help",menu=helpmenu,underline=0)
# 在Help菜单内建立菜单列表
helpmenu.add_command(label="About Me",command=aboutMe,underline=1)
root.config(menu=menubar) # 显示菜单对象
root.mainloop()
输出:
可以看到File的F和Help的H字母含下画线,按F键可以开启File菜单,点击Alt+F
显示如下: