Menuウィジェットを使ってみよう
今回はMenuウィジェットを使って、メニューを作成してみましょう。
Menuウィジェットはウィンドウのメニューを作成するためのGUI部品です。
Menuウィジェットの書式
Menuウィジェットの使い方は、以下の通りです。
※ tkinterを別名でインポートした場合は、tkinterの部分を別名にしてください。
オブジェクト名 = tkinter.Menu(master=親ウィジェット, オプション)
第1引数はMenuウィジェットの親ウィジェットを指定します。
また、masterは省略することができます。
Menuウィジェットで使うオプション
Menuウィジェットで使う主なオプションは、以下の通りです。
オプション名 | 内容 |
tearoff | メニューの切り取り可否。デフォルトは1(切り取り可能) |
font | 使用するフォント。デフォルトは "MS Sans Serif 8" *1 |
fg/foreground | 文字の色 *2 |
bg/background | 背景の色 *2 |
*1 指定できるフォントは、tkinter.font.families()で確認できます。
*2 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
Menuウィジェットのメソッド
Menuウィジェットで使う主なメソッドは、以下の通りです。
メソッド名 | 内容 |
add_cascade | サブメニューを設定 |
add_command | 呼び出すコマンド(関数)を設定 |
add_checkbutton | チェックボタンを設定 |
add_radiobutton | ラジオボタンを設定 |
add_separator | セパレーターを設定 |
Menuウィジェットを使ったプログラム
Menuウィジェットを使ったプログラムは、以下のようになります。
メニューバーを作成して、それにぶら下がるように各メニューを作成していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
### インポート import tkinter ### メイン画面作成 main = tkinter.Tk() ### 画面サイズ設定 main.geometry("640x400") ### メニューバー作成 menubar = tkinter.Menu(master=main) ### ファイルメニュー作成 filemenu = tkinter.Menu(master=menubar, tearoff=0) filemenu.add_command(label="開く") filemenu.add_command(label="閉じる") filemenu.add_separator() filemenu.add_command(label="終了", command=main.quit) ### 編集メニュー作成 editmenu = tkinter.Menu(master=menubar, tearoff=0) editmenu.add_command(label="切り取り") editmenu.add_command(label="コピー") editmenu.add_command(label="貼り付け") editmenu.add_separator() ### 設定メニュー作成 setmenu = tkinter.Menu(master=menubar, tearoff=0) setmenu.add_checkbutton(label="チェックボタン1") setmenu.add_checkbutton(label="チェックボタン2") setmenu.add_checkbutton(label="チェックボタン3") setmenu.add_separator() setmenu.add_radiobutton(label="ラジオボタン1") setmenu.add_radiobutton(label="ラジオボタン2") ### 各メニューを設定 menubar.add_cascade(label="ファイル", menu=filemenu) menubar.add_cascade(label="編集", menu=editmenu) editmenu.add_cascade(label="設定", menu=setmenu) ### メニューバー配置 main.config(menu=menubar) ### イベントループ main.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。
チェックボタンは複数選択が可能ですが、ラジオボタンはひとつのみ選択が可能です。