Tkinter的Menu组件
一、簡介
Tkinter提供了一個Menu組件,用于實現(xiàn)頂級菜單、下來菜單、彈出菜單
二、創(chuàng)建頂級菜單
需要先創(chuàng)建一個菜單實例,然后使用add()方法將命令和其他子菜單添加進去
?
from tkinter import *
root = Tk()
def callback():
??? print("~被調(diào)用了~")
# 創(chuàng)建一個頂級菜單
menubar = Menu(root)
menubar.add_command(label="輸出", command=callback)
menubar.add_command(label="啥也不干")
menubar.add_command(label="退出", command=root.quit)
# 顯示菜單
root.config(menu=menubar)
mainloop()
運行:
依次點擊輸出,啥也不干,退出
?三、創(chuàng)建下拉菜單
下拉菜單大同小異,主要區(qū)別是最后需要添加到主菜單上去,而不是窗口上去
from tkinter import *
root = Tk()
def callback():
??? print("~被調(diào)用了~")
# 創(chuàng)建一個頂級菜單
menubar = Menu(root)
# 創(chuàng)建一個下拉菜單“文件”,然后將它添加到頂級菜單中
filemenu = Menu(menubar, tearoff=False)
filemenu.add_command(label="打開", command=callback)
filemenu.add_command(label="保存", command=callback)
#生成一條分割線
filemenu.add_separator()
filemenu.add_command(label="退出", command=root.quit)
#給頂級菜單添加文件菜單
menubar.add_cascade(label="文件", menu=filemenu)
# 創(chuàng)建另一個下拉菜單“編輯”,然后將它添加到頂級菜單中
editmenu = Menu(menubar, tearoff=False)
editmenu.add_command(label="剪切", command=callback)
editmenu.add_command(label="拷貝", command=callback)
editmenu.add_command(label="粘貼", command=callback)
menubar.add_cascade(label="編輯", menu=editmenu)
# 顯示菜單
root.config(menu=menubar)
mainloop()
運行:
?
四、創(chuàng)建彈出菜單
點擊鼠標右鍵時會彈出菜單選線,使用post()方法就可以
from tkinter import *
root = Tk()
def callback():
??? print("~被調(diào)用了~")
# 創(chuàng)建一個彈出菜單
menu = Menu(root, tearoff=False)
menu.add_command(label="撤銷", command=callback)
menu.add_command(label="重做", command=callback)
frame = Frame(root, width=512, height=512)
frame.pack()
def popup(event):
??? menu.post(event.x_root, event.y_root)
# 綁定鼠標右鍵
frame.bind("<Button-3>", popup)
mainloop()
?
運行:
?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Tkinter的Menu组件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用Tkinter的Cancas实现一个写
- 下一篇: VMware中为linux设置网络