日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

学习笔记(56):Python实战编程-Menu

發(fā)布時(shí)間:2023/12/10 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记(56):Python实战编程-Menu 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

立即學(xué)習(xí):https://edu.csdn.net/course/play/19711/343119?utm_source=blogtoedu

1.菜單menu:

1)彈出式菜單,類似與電腦桌面右擊彈出的菜單成為彈出菜單;

2)窗體式菜單:類似于word上面的菜單欄

?

2.窗體菜單創(chuàng)建的步驟

1)創(chuàng)建一個(gè)菜單欄

elf.menu = tkinter.Menu(self.root)#創(chuàng)建菜單

2)在菜單欄中創(chuàng)建子菜單

self.file_menu = tkinter.Menu(self.menu,#主菜單tearoff = False)

3)給子菜單添加菜單項(xiàng)及設(shè)置菜單項(xiàng)的名字和需要綁定的事件,

注:關(guān)閉窗體的事件可以直接調(diào)用self.root.quit()來實(shí)現(xiàn)

self.file_menu.add_command(label = "打開",#設(shè)置子菜單項(xiàng)的名字command = self.file_handle_1#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)self.file_menu.add_command(label = "保存",#設(shè)置菜單項(xiàng)的名字command = self.file_handle_2#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)self.file_menu.add_separator()#添加子菜單項(xiàng)分割線self.file_menu.add_command(label = "關(guān)閉",#設(shè)置子菜單項(xiàng)的名字command = self.root.quit#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件

4)向菜單欄或者主菜單中添加子菜單

#---------------------將子菜單添加到主菜單中---------------------- self.menu.add_cascade(label = "文件",#為子菜單設(shè)置名字menu = self.file_menu#將子菜單添加到主菜單中,需要添加的子菜單)

?5)在窗體中顯示主菜單或者說是菜單欄

self.root.config(menu = self.menu)

?

3.彈出菜單的創(chuàng)建步驟

1)創(chuàng)建子菜單:這步與窗體菜單的創(chuàng)建子菜單是一樣的

self.popmenu = tkinter.Menu(self.root,tearoff = False)#創(chuàng)建菜單

2)給子菜單添加菜單項(xiàng)及菜單項(xiàng)的命名、事件的綁定

self.popmenu.add_command(label = "我是彈出菜單",#彈出菜單項(xiàng)的名字command = self.pop_handle_1#彈出菜單項(xiàng)綁定的事件)

3)定義在窗體中顯示彈出窗體的事件(post)

#--------------彈出菜單事件--------------------- def pop_menu_handle(self,event):self.popmenu.post(event.x_root,event.y_root)#設(shè)置彈出的位置,這是跟隨著事件發(fā)生的位置

4)給窗體綁定彈出菜單彈出的事件

self.root.bind("<Button-3>",self.pop_menu_handle)#將彈出菜單作為一個(gè)事件綁定給窗體

?

注:菜單項(xiàng)事件的綁定是通過創(chuàng)建菜單項(xiàng)“command=事件”來進(jìn)行綁定的

?

4.完整代碼

import tkinter#導(dǎo)入創(chuàng)建窗體的相關(guān)模塊class Mainwindow():#創(chuàng)建窗口類def __init__(self):self.root = tkinter.Tk()#創(chuàng)建主體窗口self.root.title('linlianqin')#定義窗體的名字self.root.geometry('500x500')#定義窗體的初始大小self.root.maxsize(1200,1200)#設(shè)置窗口可以顯示的最大尺寸self.create_menu()self.pop_menu()self.root.bind("<Button-3>",self.pop_menu_handle)#將彈出菜單作為一個(gè)事件綁定給窗體self.root.mainloop()#顯示窗口,這個(gè)代碼一定要放在所有窗口設(shè)置的后面#------------創(chuàng)建窗體菜單------------------def create_menu(self):self.menu = tkinter.Menu(self.root)#創(chuàng)建菜單#-------------------------------------#創(chuàng)建一個(gè)子菜單1------------------------------------self.file_menu = tkinter.Menu(self.menu,#主菜單tearoff = False)#----------------創(chuàng)建子菜單的菜單項(xiàng)1-----------------self.file_menu.add_command(label = "打開",#設(shè)置子菜單項(xiàng)的名字command = self.file_handle_1#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)self.file_menu.add_command(label = "保存",#設(shè)置菜單項(xiàng)的名字command = self.file_handle_2#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)self.file_menu.add_separator()#添加子菜單項(xiàng)分割線self.file_menu.add_command(label = "關(guān)閉",#設(shè)置子菜單項(xiàng)的名字command = self.root.quit#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)#關(guān)閉窗口的事件可以直接調(diào)用內(nèi)置的函數(shù)#---------------------將子菜單添加到主菜單中----------------------self.menu.add_cascade(label = "文件",#為子菜單設(shè)置名字menu = self.file_menu#將子菜單添加到主菜單中,需要添加的子菜單)#---------------------------------# 創(chuàng)建一個(gè)子菜單2------------------------------self.edit_menu = tkinter.Menu(self.menu, #主菜單tearoff=False)#----------------創(chuàng)建子菜單的菜單項(xiàng)2-----------------self.edit_menu.add_command(label = "剪切",#設(shè)置子菜單項(xiàng)的名字command = self.edit_handle_1#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)self.edit_menu.add_command(label = "復(fù)制",#設(shè)置菜單項(xiàng)的名字command = self.edit_handle_2#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)self.edit_menu.add_separator()#添加子菜單項(xiàng)分割線self.edit_menu.add_command(label = "粘貼",#設(shè)置子菜單項(xiàng)的名字command = self.edit_handle_2#設(shè)置子菜單項(xiàng)需要執(zhí)行的事件)#---------------------將子菜單添加到主菜單中----------------------self.menu.add_cascade(label = "編輯",#為子菜單設(shè)置名字menu = self.edit_menu#將子菜單添加到主菜單中,需要添加的子菜單)#---------------------主菜單的顯示------------------self.root.config(menu = self.menu)#-------創(chuàng)建彈出菜單:彈出菜單就相當(dāng)于一個(gè)子菜單一樣,只不過是需要右擊才會(huì)出現(xiàn)的,對(duì)于窗體來說,彈出菜單相當(dāng)于一個(gè)事件----------------------def pop_menu(self):self.popmenu = tkinter.Menu(self.root,tearoff = False)#創(chuàng)建菜單self.popmenu.add_command(label = "我是彈出菜單",#彈出菜單項(xiàng)的名字command = self.pop_handle_1#彈出菜單項(xiàng)綁定的事件)self.popmenu.add_command(label = "linlianqin",#彈出菜單項(xiàng)的名字command = self.pop_handle_2#彈出菜單項(xiàng)綁定的事件)#---------------------窗體菜單的處理事件------------------------def file_handle_1(self):passdef file_handle_2(self):passdef edit_handle_1(self):passdef edit_handle_2(self):pass#---------------------彈出菜單的處理事件------------------------def pop_handle_1(self):passdef pop_handle_2(self):pass#--------------彈出菜單事件---------------------def pop_menu_handle(self,event):self.popmenu.post(event.x_root,event.y_root)#設(shè)置彈出的位置,這是跟隨著事件發(fā)生的位置if __name__ == '__main__':Mainwindow()#將窗體類實(shí)例化

?

總結(jié)

以上是生活随笔為你收集整理的学习笔记(56):Python实战编程-Menu的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。