Python 3 Tkinter菜單含代碼

Python 3 – Tkinter菜單

Tkinter是Python標準庫中內置的圖形用戶界面(GUI)庫,可以快速構建簡單的GUI界面。愛掏網 - it200.comTkinter提供了菜單(Menus)的構建和管理功能。愛掏網 - it200.com本文將介紹Tkinter菜單的基本使用方法。愛掏網 - it200.com

Tkinter提供了三種菜單類型:
– 普通菜單:包含一系列的命令項。愛掏網 - it200.com
– 級聯菜單:是普通菜單的一種擴展,其中每一項是另一個子菜單。愛掏網 - it200.com
– 彈出菜單:在鼠標右鍵點擊時顯示的短暫菜單。愛掏網 - it200.com

創建一個簡單的菜單

以下是一個基本的菜單代碼:

from tkinter import *

root = Tk()

menu = Menu(root)
root.config(menu=menu)

# 創建一個File菜單項
file_menu = Menu(menu)
menu.add_cascade(label='File', menu=file_menu)
file_menu.add_command(label='New')
file_menu.add_command(label='Open...')
file_menu.add_separator()
file_menu.add_command(label='Exit', command=root.quit)

# 創建一個Help菜單項
help_menu = Menu(menu)
menu.add_cascade(label='Help', menu=help_menu)
help_menu.add_command(label='About')

root.mainloop()

這個菜單窗口包含了兩個級聯菜單,分別是FileHelp愛掏網 - it200.comFile下面包含了三個命令項以及一個分隔符和一個退出按鈕。愛掏網 - it200.comHelp下面僅有一個About命令項。愛掏網 - it200.com

接下來我們將逐一解釋這個簡單的菜單實現代碼。愛掏網 - it200.com

首先,我們需要導入Tkinter庫,并創建一個Tk()對象:

from tkinter import *

root = Tk()

接著,創建一個菜單對象Menu,并將其配置到窗口上:

menu = Menu(root)
root.config(menu=menu)

創建一個普通菜單項File,再添加三個命令項和一個分隔符。愛掏網 - it200.com需要注意的是,命令項的函數需要定義在代碼前面。愛掏網 - it200.com

# 創建一個File菜單項
file_menu = Menu(menu)
menu.add_cascade(label='File', menu=file_menu)
file_menu.add_command(label='New')
file_menu.add_command(label='Open...')
file_menu.add_separator()
file_menu.add_command(label='Exit', command=root.quit)

創建一個級聯菜單項Help,并添加唯一的About命令項。愛掏網 - it200.com

# 創建一個Help菜單項
help_menu = Menu(menu)
menu.add_cascade(label='Help', menu=help_menu)
help_menu.add_command(label='About')

通過以上幾步,就可以快速創建一個簡單的菜單。愛掏網 - it200.com

創建一個彈出菜單

以下是一個簡單的彈出菜單代碼:

from tkinter import *

root = Tk()

def popup(event):
    popup_menu.post(event.x_root, event.y_root)

menu = Menu(root, tearoff=False)
menu.add_command(label='Undo')
menu.add_command(label='Redo')
menu.add_separator()
menu.add_command(label='Cut')
menu.add_command(label='Copy')
menu.add_command(label='Paste')

root.bind('<Button-3>', popup)
popup_menu = menu

root.mainloop()

對于popup()函數,我們需要使用.post()方法來彈出菜單。愛掏網 - it200.com如果我們定義了多個彈出菜單,可以將其中一個賦值到一個全局變量中便于復用。愛掏網 - it200.com

def popup(event):
    popup_menu.post(event.x_root, event.y_root)

# ...

popup_menu = menu

菜單項分隔符

上面的例子中,在菜單項之間加了一個分隔符。愛掏網 - it200.com分隔符可以使用add_separator()方法來添加。愛掏網 - it200.com

file_menu = Menu(menu)
menu.add_cascade(label='File', menu=file_menu)
file_menu.add_command(label='New')
file_menu.add_command(label='Open...')
file_menu.add_separator()
file_menu.add_command(label='Exit', command=root.quit)

同樣,在級聯菜單中也可以使用這個方法:

help_menu.add_separator()

禁用菜單項

有時,我們需要在某些情況下禁用某個菜單項。愛掏網 - it200.com可以使用state='disabled'參數來達到這個目的。愛掏網 - it200.com

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 欧美福利电影在线| 99re热精品这里精品| 草莓视频黄瓜视频| 日韩人妻系列无码专区| 模特冰漪丰硕之美1| 国产美女牲交视频| 做床爱无遮挡免费视频91极品蜜桃臀在线播放 | 国产呻吟久久久久久久92| 久久香蕉国产线看精品| 2020欧美极品hd18| 欧美亚洲国产片在线播放| 少妇太爽了在线观看| 又粗又硬又大又爽免费视频播放 | 精品欧美一区二区三区久久久| 成视频年人黄网站免费视频| 四虎国产永久在线观看| 久久综合九色综合网站| 香蕉视频在线观看网址| 无翼乌无遮挡h肉动漫在线观看| 国产ts亚洲人妖| 一个人hd高清在线观看免费直播| 精品久久久一二三区| 夜夜橹橹网站夜夜橹橹| 亚洲精品无码久久久久| 中文字幕aⅴ在线视频| 练瑜伽的时候进入| 女人与大拘交口述| 亚洲欧美日韩一级特黄在线| 一个人看的www日本高清视频 | 日韩人妻一区二区三区免费| 国产亚洲高清不卡在线观看| 中文字幕乱码人在线视频1区| 精品人妻无码一区二区色欲产成人| 天天操天天射天天舔| 亚洲欧美日韩久久精品| 日本xxxxx高清| 日日噜噜噜夜夜爽爽狠狠| 免费无码又爽又刺激毛片| 97av免费视频| 男人女人做a视频| 国产精品日韩欧美一区二区三区|