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