Tkinter ウィンドウにメニューをつける。
- まずは、簡単なメニュー。
#簡単なメニュー # -*- coding: utf-8 -*- from Tkinter import * #コールバック関数を定義しておく。 def callback(): print 'called' #root ウィンドウを作る。 root = Tk() #メニューオブジェクトを作る。 menu_ROOT = Menu(root) #root ウィンドウの menu に前出の #メニューオブジェクトを設定。 root.configure(menu = menu_ROOT) #メニューオブジェクトに'FILE' というメニューを #追加する。 menu_ROOT.add_command(label='FILE',command=callback) #メニューオブジェクトに'FILE' というメニューを #追加する。 menu_ROOT.add_command(label='EDIT',command=callback) root.mainloop()
- カスケードメニューにしてみる。
#カスケードメニューにしてみる。 # -*- coding: utf-8 -*- from Tkinter import * #コールバック関数を定義しておく。 def callback(): print 'called' #root ウィンドウを作る。 root = Tk() #メニューオブジェクトを作る。 menu_ROOT = Menu(root) #root ウィンドウの menu に前出の #メニューオブジェクトを設定。 root.configure(menu = menu_ROOT) #FILE メニューを作る。親widgetは menu_ROOT menu_FILE = Menu(menu_ROOT) #'FILE'というラベルでカスケードメニューをrootメニューに追加。 #alt+f でアクセス出来るように F にアンダーライン追加。 menu_ROOT.add_cascade(label='FILE',menu=menu_FILE,underline=0) #FILE カスケードメニューに'New Window' という項目を追加。 #alt+n でアクセス出来るように underline を追加。 menu_FILE.add_command(label='New Window',under=0,command=callback) #FILE カスケードメニューに'Open' という項目を追加。 #alt+o でアクセスできるように underline を追加。 menu_FILE.add_command(label='Open',under=0,command=callback) root.mainloop()
- サブメニューを作ってみる。
# -*- coding: utf-8 -*- from Tkinter import * #コールバック関数を定義しておく。 def callback(): print 'called' #root ウィンドウを作る。 root = Tk() frame = Frame(root,width=300,height=200) frame.pack() menu_top = Menu(root) menu_file = Menu(menu_top) menu_open = Menu(menu_top) root.configure(menu=menu_top) menu_top.add_cascade (label='FILE(F)',menu=menu_file,under=5) menu_top.add_command(label=u'ヘルプ(H)',underline=4,command=callback) menu_file.add_command(label='New Window(N)',under=11) menu_file.add_cascade(label='Open(O)',under=5,menu=menu_open) menu_open.add_command(label='Local File(L)',under=11) menu_open.add_command(label='Network(N)',under=8) root.mainloop()
- Menu(option...) の tearoff オプションを
tearoff=False もしくは tearoff=1 とするとはぎ取りバー無しになる。
#カスケードメニューにしてみる。& tearoff オプションをいじる。 # -*- coding: utf-8 -*- from Tkinter import * #コールバック関数を定義しておく。 def callback(): print 'called' #root ウィンドウを作る。 root = Tk() #メニューオブジェクトを作る。 menu_ROOT = Menu(root) #root ウィンドウの menu に前出の #メニューオブジェクトを設定。 root.configure(menu = menu_ROOT) #FILE メニューを作る。親widgetは menu_ROOT #tearoff=False もしくは tearoff=1 とするとはぎ取りバー無しになる。 menu_FILE = Menu(menu_ROOT,tearoff=False) #'FILE'というラベルでカスケードメニューをrootメニューに追加。 #alt+f でアクセス出来るように F にアンダーライン追加。 menu_ROOT.add_cascade(label='FILE',menu=menu_FILE,underline=0) #FILE カスケードメニューに'New Window' という項目を追加。 #alt+n でアクセス出来るように underline を追加。 menu_FILE.add_command(label='New Window',under=0,command=callback) root.mainloop()