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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单

發布時間:2025/10/17 python 9 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PYTHON圖形化操作界面的編程七__創建菜單

十八、創建菜單

1、水平菜單的創建

創建菜單需要多條語句,所以這里通過實例來說明水平菜單的創建方法:

下面的語句可以在窗口中添加水平菜單,其中前四行語句是導入tkinter庫和創建窗口w,從

第五行語句開始(紅框中的語句)為創建菜單語句,運行結果如下面右圖所示。

上面紅框中的第一行代碼為創建菜單對象m,紅框中第2,3,4行代碼為向菜單對象m中添加菜單項。紅框中最后一條語句為將菜單顯示在窗口中(實際是向窗口的“menu”屬性賦值)

創建Menu對象時仍可使用前面介紹的控件的公共屬性,同時菜單對象還可以使用如下的屬性:

tearoff:該屬性取值可以為True或False,此屬性一般用在創建下拉菜單中,值為False時,創建的各級菜單間無虛線分隔。如果值為True,則上下級菜單間顯示一條虛線分隔線且該菜單可以與上級菜單相分離。

menu:該屬性值為下級菜單對象的名稱。從而可以將另一菜單對象和本菜單項關聯起來。使另一菜單項成為本菜單的子菜單。

菜單對象的的方法:

add_cascade():向菜單對象中添加菜單項。上面紅框中的三行代碼就使用了這個方法。

add_command():向菜單對象中增加菜單命令。

add_separator():在菜單對象中創建菜單項間的分隔線

下面通過實例來說明 上面方法的應用:

在上面的代碼基礎上添加下面的代碼,紅框中為添加的代碼:下面右圖為代碼運行后的結果。

上面代碼中第一個紅框中的代碼為:創建第二個菜單對象f1。第二個紅框為小紅框,其代碼為:將新創建的菜單名稱添加到原來第一個水平菜單項的menu屬性中。使新創建的菜單對象成為原菜單的下級菜單。

第三個紅框中共有三條語句,第一條語句在f1菜單對象中添加菜單項(用add_cascade方法創建的是菜單項,將來該菜單項下還有下級菜單)

第三個紅框中的第二、三條語句均使用add.command方法向菜單對象f1中添加菜單命令,說明這兩項本身就是菜單命令而無下級菜單。

第四個紅框中有兩條語句,第一條創建菜單分隔線,第二條創建菜單命令,并為該菜單命令的command屬性賦值exit,表示選中此菜單命令后就執行“exit”命令關閉窗口,結束程序運行。上面右圖是上面代碼運行后的結果,子菜單中第一項為菜單項,其余這菜單命令。

下面的代碼繼續為第一個子菜單項添加下級菜單命令。下面右圖為代碼運行后的結果。

上面代碼中第一個紅框中的代碼為創建了第三個菜單對象名稱為ff1,第二個小紅框中的代碼為將新建立的菜單對象ff1的名稱賦值給上一個菜單子項的menu屬性,使新建立的菜單對象成為其子菜單項。

第三個紅框中共四條代碼,均用add_command方法創建,因此創建的均是菜單命令,為其指定command屬性后就可以執行這些菜單命令。

下面為菜單命令指定執行的函數,為了減少代碼量而不影響問題的本質,我們假設點擊任一菜單命令均執行同一個函數fun,代碼修改如下:下面紅框中的代碼為新添加的內容。

第一個紅框為函數定義。為了節省篇幅我們在函數中放置了一個空語句,該語句不執行任何動作,只是占一條語句的位置。

其余紅框中的代碼圴相同,只是為各菜單命令設置了command屬性,使點擊這些菜單項時執行command屬性所指定的函數。

實際使用中我們要為每個菜單命令指定不同的函數,并分別將這些函數名賦值給對應的菜單命令的command屬性。

屬性tearoff取值對菜單的影響大家可以自行償試。通過上面介紹的方法我們可以構建任何結構的菜單。

2、快捷菜單的創建

快捷菜單是右擊鼠標后出現的菜單,創建快捷菜單很簡單,下面是創建快捷菜單的步驟:

1)先用下面的語句創建Menu對象:

q=Menu(tearoff=False)

其中 q是Menu對象的名稱,屬性tearoff=False是為了使創建的菜單不出現虛線分隔

2)用下面的語句向菜單對象中添加菜單命令,屬性command后的值為選中該快捷菜單項后執行的函數名稱。

q.add_command(label="復制",command=copy)

q.add_command(label="剪切",command=cut)

q.add_command(label="粘貼",command=paste)

3)用下面的語句將菜單綁定到窗口或其他控件,本例中綁定的是窗體。即右擊窗口中的任意位置彈出快捷菜單。下面語句中的w是窗體的名稱。若要綁定其他控件,則要用其他控件的名稱。pop是點擊鼠標右鍵后執行的函數或方法的名稱。

w.bind("",pop)

4)用下面的代碼定義pop方法,方法內容是調用菜單對象的post()方法完成參數的傳遞。

def

pop(event):

q.post(event.x_root,event.y_root)

5)定義選中菜單項后要執行的各函數

根據菜單項的功能,定義菜單項對應的函數,此例中要分別定義三個函數,此處只是為了驗證快捷菜單項的執行情況,在每個函數中添加了一條輸出語句。

def

copy():

print("copy")

def

cut():

print("cut")

def

paste():

print("paste")

最后的完整代碼如下所示

上面代碼運行后,在窗口空白外右擊鼠標,出現快捷菜單,參見下圖。

下面的代碼可以創建二級快捷菜單,運行結果如下面右圖所示。為了減少代碼量而又不影響問題的討論,下面代碼將各菜單項的執行函數均設置為op,紅框標出的代碼為在上面例子的代碼基礎上添加的新代碼。

仔細分析上面代碼,不難看出,和前面下拉菜單創建時的方法是基本相同的。

總結

以上是生活随笔為你收集整理的python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。