tkinter中,選單控制項組織方法有兩種,使用中常出現混淆,為明晰各個正確用法,特整理撰寫此博文。選單控制項的組織實際上是通過乙個「母選單」和「子選單」構成,「母選單」一方面與master連線(即與依附控制項的關聯),一方面與」子選單「連線,而子選單則負責展示及響應。
」母選單「可以採用menu類或者menubutton類,由此產生出兩種組織方法:
(1)menu類:
能與toplevel和tk類關聯,但不可以與frame類關聯:menu=menu(toplevel());toplevel().config(menu=menu)
與」子選單「的關聯為:pulldown=menu(menu);menu.add_cascade(menu=pulldown,label='text')
而不能與tk類,和frame類關聯;
如下**:
(2)menubutton類:
可以與tk類,frame類,toplevel類關聯:menubutton=menubutton(root,text='text');menubutton.pack();
與」子選單「的關聯為:pulldown=menu(menubutton);menubutton.config(menu=pulldown)
而當」子選單「擴充套件時,可以繼續使用add_cascade方法,從這個角度看,」母選單「使用menu類的組織方法可以看作是menu控制項的擴充套件方法。
下面是兩個簡單的demo:
>>> from tkinter import *>>> root=toplevel()
>>> menu=menu(root)
>>> root.config(menu=menu)
>>> pulldow=menu(menu)
>>> pulldow.add_command(label='test1')
>>> pulldow.add_command(label='test2')
>>> pulldow.add_separator()
>>> menu.add_cascade(menu=pulldow,label='menu')
>>> from tkinter import *總結:兩種方式中,第乙個menu的安置需要依附控制項(root,toplevel)的config方法;」母選單「為menu類時,實質是menu的擴充套件;」母選單「為menubutton時,它本身具有button的屬性,所以引數需要master,text,command,聯結」子選單「時(肯定是第乙個menu類),所以需要config方法,需要注意的是menu不可以依附在frame上,而menubutton可以。>>> root=tk()
>>> menubtn=menubutton(root,text='menubtn')
>>> menubtn.pack()
>>> pulldown=menu(menubtn)
>>> pulldown.add_command(label='test1',command=none)
>>> pulldown.add_command(label='test2',command=none)
>>> menubtn.config(menu=pulldown)
tkinter中menu選單控制項(十二)
1 import tkinter 23 wuya tkinter.tk 4 wuya.title wuya 5 wuya.geometry 300x200 10 20 678 建立選單欄下方的選單條 9 mubar tkinter.menu wuya 10 wuya.config menu muba...
menu控制項的使用
在.net的導航控制項中,我用的最多的是treeview控制項,今天無意間用到了menu控制項,感覺挺好的.寫出來當作筆記吧 前台 後台 region 頁面初始化 protected void page load object sender,eventargs e endregion region ...
python3 tkinter之Menu食用方法
usr bin python coding utf 8 from tkinter import def newfile print new file def openfile print open def about print this is a example of a menu root tk...