Python Tkinter Menu菜單


Python Tkinter Menu菜單

  1. Menu小部件用於在python應用程序中創建各種類型的菜單(頂級,下拉和彈出)

  2. 頂級菜單是顯示在父窗口標題欄下方的菜單。我們需要創建Menu小部件的新實例,並使用add()方法向其添加各種命令

  3. 語法

me = Menu(top, options)
  1. 可能的選項列表
選項 描述
activebackground 窗口小部件在焦點下時窗口小部件的背景顏色。
activeborderwidth 小部件在鼠標下方時邊框的寬度。默認值為1像素。
activeforeground 窗口小部件具有焦點時窗口小部件的字體顏色。
bg 小部件的背景顏色。
bd 小部件的邊框寬度。
cursor 鼠標指針在懸停窗口小部件時更改為光標類型。光標類型可以設置為箭頭或點。
disabledforeground 禁用時窗口小部件的字體顏色。
font 小部件文本的字體類型。
fg 小部件的前景色。
postcommand 命令可以設置為當mourse懸停菜單時調用的任何函數。
relief 窗口小部件的邊框類型。默認類型為RAISED。
image 用於在菜單上顯示圖像。
selectcolor 用於在選中時顯示checkbutton或radiobutton的顏色。
tearoff 默認情況下,菜單中的選項從位置1開始。如果我們設置0,那么選項將從第0位開始。
n. 可按虛線拆下的紙片;tearoff=1 代表顯示分隔虛線;teartoff=0 代表取消分隔虛線
title 如果要更改窗口標題,請將此選項設置為窗口標題。
  • 方法
    • “菜單”窗口小部件包含以下方法
方法 描述
add_command(options) 用於將菜單項添加到菜單中。
add_radiobutton(options) 此方法將radiobutton添加到菜單中。
add_checkbutton(options) 此方法用於將復選框添加到菜單中。
add_cascade(options) 用於通過將給定菜單與父菜單相關聯來為父菜單創建分層菜單。
add_seperator() 用於將分隔線添加到菜單中。
add(type,options) 用於將特定菜單項添加到菜單中。
delete(startindex,endindex) 用於刪除指定范圍內存在的菜單項
entryconfig(index,options) 它用於配置由給定索引標識的菜單項。
index(item) 用於獲取指定菜單項的索引
insert_seperator(index) 用於在指定的索引處插入分隔符。
invoke(index) 它用於調用與指定索引處給出的選項相關聯。
type(index) 它用於獲取索引指定的選擇類型。
  1. 示例一
  • 創建頂級菜單
    • 可以通過實例化Menu小部件並將菜單項添加到菜單來創建頂級菜單。
from tkinter import *  
  
root = Tk()  
  
def hello():  
    print("hello!")  
  
# create a toplevel menu  
menubar = Menu(root)  
menubar.add_command(label="Hello!", command=hello)  
menubar.add_command(label="Quit!", command=root.quit)  
  
# display the menu  
root.config(menu=menubar)  
  
root.mainloop()
  • 輸出


(單擊hello Menubutton將在控制台上打印hello,而單擊Quit Menubutton將退出python應用程序)

  1. 示例二
from tkinter import Toplevel, Button, Tk, Menu  
  
root = Tk()  

menubar = Menu(root)  
file = Menu(menubar, tearoff=0)  
file.add_command(label="New")  
file.add_command(label="Open")  
file.add_command(label="Save")  
file.add_command(label="Save as...")  
file.add_command(label="Close")  
  
file.add_separator()   # 添加一條分割線
  
file.add_command(label="Exit", command=top.quit)  
  
menubar.add_cascade(label="File", menu=file)  
edit = Menu(menubar, tearoff=0)  
edit.add_command(label="Undo")  
  
edit.add_separator()  
  
edit.add_command(label="Cut")  
edit.add_command(label="Copy")  
edit.add_command(label="Paste")  
edit.add_command(label="Delete")  
edit.add_command(label="Select All")  
  
menubar.add_cascade(label="Edit", menu=edit)  
help = Menu(menubar, tearoff=0)  
help.add_command(label="About")  
menubar.add_cascade(label="Help", menu=help)  
  
root.config(menu=menubar)  
root.mainloop()
  • 輸出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM