Tkinter Menu 建立工具栏Toolbar
在前面章节中已经学会使用将一系列类似命令组成菜单。在窗口程序设计中,另一个很重要的概念是将常用的命令组成工具栏,放在窗口内以方便用户随时调用。tkinter模块没有提供Toolbar模块,不过我们可以使用Frame建立工具栏。
示例1
这个程序会建立一个File菜单,菜单内有Exit命令。这个程序也建立了一个工具栏,在工具栏内有exitBtn按钮。这个程序不论是执行File菜单的Exit命令或是单击工具栏中的exitBtn按钮,都可以让程序结束。
from tkinter import *
root = Tk()
root.title("apidemos.com")
root.geometry("300x180")
menubar = Menu(root) # 建立最上层菜单
# 建立菜单类别对象,并将此菜单类别命名为File
filemenu = Menu(menubar,tearoff=False)
menubar.add_cascade(label="File",menu=filemenu)
# 在File菜单内建立菜单列表Exit
filemenu.add_command(label="Exit",command=root.destroy)
# 建立工具栏
toolbar = Frame(root,relief=RAISED,borderwidth=3)
# 在工具栏内创建按钮
myGif = PhotoImage(file="apidemos.png")
exitBtn = Button(toolbar,image=myGif,command=root.destroy)
exitBtn.pack(side=LEFT,padx=3,pady=3) # 包装按钮
toolbar.pack(side=TOP,fill=X) # 包装工具栏
root.config(menu=menubar) # 显示菜单对象
root.mainloop()
输出:
其实,这个程序中所用到的都是已经学过的概念,基本步骤如下。
(1)第8~13行,建立File菜单。
(2)第13行,在File菜单内创建Exit命令,设定command=root.destroy。
(3)第16行建立工具栏toolbar。
(4)第19、20行在工具栏toolbar内创建和包装exitBtn按钮。
(5)第21行包装工具栏。
(6)第22行显示菜单。
当然,上述程序也有工具栏太高的缺点,这是因为GIF格式的图像太大,读者在设计类似程序时只要缩小GIF格式的图像即可。