'''Tkinter教程之Menubutton篇'''
'''這是一個過時了的控制項,從Tk8.0開始將不再使用這個控制項,取而代之的是Menu,這裡介紹它是為了
相容以前版本的Tk,能夠知道有這個東東就可以了'''
'''1.介紹一下Menubutton的常用 方法,可以看到與Menu的使用方法基本相同。'''
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
mbLang = Menubutton(root,text = 'Language')
mbLang.menu = Menu(mbLang)
#產生功能表項目
for item in ['Python','PHP','CPP','C','Java','JavaScript','VBScript']:
mbLang.menu.add_command(label = item)
mbLang['menu'] = mbLang.menu
mbLang.pack(side = LEFT)
#分隔字元將相關的功能表項目進行分組,只是UI上的實現,程式上沒有任何改變,它也不執行任何的命令
#添加向菜單中添加checkbutton項
mbOS = Menubutton(root,text = 'OS')
mbOS.menu = Menu(mbOS)
for item in ['Unix','Linux','Soloris','Windows']:
mbOS.menu.add_checkbutton(label = item)
mbOS['menu'] = mbOS.menu
mbOS.pack(side = LEFT)
#向菜單中添加radiobutton項
mbLinux = Menubutton(root,text = 'Linux')
mbLinux.menu = Menu(mbLinux)
for item in ['Redhat','Fedra','Suse','ubuntu','Debian']:
mbLinux.menu.add_radiobutton(label = item)
mbLinux['menu'] = mbLinux.menu
mbLinux.pack(side = LEFT)
#對功能表項目進行操作
#向Language菜單中添加一項"Ruby",以分隔字元分開
mbLang.menu.add_separator()
mbLang.menu.add_command(label = 'Ruby')
#向OS菜單中第二項添加"FreeBSD",以分隔字元分開
mbOS.menu.insert_separator(2)
mbOS.menu.insert_checkbutton(3,label = 'FreeBSD')
mbOS.menu.insert_separator(4)
#將Linux中的“Debian”刪除
mbLinux.menu.delete(5)
root.mainloop()
#這個控制項已經不提倡使用,取而代之的是Menu,使用這個比使用Menubutton更為方便。如果不是特別需要不要使用這個控制項。
#author: jcodeer
#blog: jcodeer.cublog.cn
#email: jcodeer@126.com