PythonのGUI メニューバーについて。
この記事の内容はコチラです
- メニューバーを作成する
- tkinterの使い方を知る
今回はtkinterモジュールを使ってメニューバーを作成する方法を解説します。
Pythonでメニューバーを作成する(Tkinter)
PythonではTkinterモジュールを使ってメニューバーを作成することができます。GUIアプリケーションでメニューバーはよく使われますね。
メニューバーに開く・閉じるを追加する
# メニューから呼び出される関数 def open_file(): pass def close_disp(): pass
import tkinter #画面作成 tki = tkinter.Tk() #メニューバー作成 men = tkinter.Menu(tki) #メニューバーを画面にセット tki.config(menu=men) #メニューに親メニュー(ファイル)を作成する menu_file = tkinter.Menu(tki) men.add_cascade(label='ファイル', menu=menu_file) #親メニューに子メニュー(開く・閉じる)を追加する menu_file.add_command(label='開く', command=open_file) menu_file.add_separator() menu_file.add_command(label='閉じる', command=close_disp)
Pythonで「tkinter」を使って簡単にメニューバーを作成することができました。上記のコードを解説していきます。
イベント関数を事前に定義する
メニューに「ファイル」→「開く」「閉じる」を追加します。この「開く」「閉じる」をおしたときに呼び出されるイベント関数を作成します。
# メニューから呼び出される関数 def open_file(): pass def close_disp(): pass
「開く」→open_file関数、「閉じる」→close_disp関数を呼び出します。ここではメニューの作成にフォーカスするため、関数の中身はカラにしておきます。必要な処理を追加してください。
Tkinterでメニューバーを作成する
import tkinter #画面作成 tki = tkinter.Tk()
Pythonでは「tkinter」を使うと簡単にメニューバーを作成することができます。
tkinterはPythonのGUIを作成するモジュールです。詳細はこちらを参照してください。
#メニューバー作成 men = tkinter.Menu(tki) #メニューバーを画面にセット tki.config(menu=men)
メニューバーは「tkinter.Menu」で作成します。このメニューバーを画面に定義するのが「tki.config(menu=men)」です。
import tkinter #画面作成 tki = tkinter.Tk() #メニューバー作成 men = tkinter.Menu(tki) #メニューバーを画面にセット tki.config(menu=men) #メニューに親メニュー(ファイル)を作成する menu_file = tkinter.Menu(tki) men.add_cascade(label='ファイル', menu=menu_file) #親メニューに子メニュー(開く・閉じる)を追加する menu_file.add_command(label='開く', command=open_file) menu_file.add_separator() menu_file.add_command(label='閉じる', command=close_disp)
Pythonで「tkinter」を使って簡単にメニューバーを作成することができました。上記のコードを解説していきま
メニューを追加する
画面にメニューバーを追加できたので、次にメニューバーの中身を作成します。
#メニューに親メニュー(ファイル)を作成する menu_file = tkinter.Menu(tki) men.add_cascade(label='ファイル', menu=menu_file)
「tkinter.Menu(tki)」でメニューの親要素を作成します。親要素とはメニューバーに表示される第一階層のメニューです。
ここでは「ファイル」を追加しました。メニュー要素に追加するのは「add_cascade」を使います。要素の名前は「label」で定義します。
これでメニューバーの親要素に「ファイル」を追加することができました。
#親メニューに子メニュー(開く・閉じる)を追加する menu_file.add_command(label='開く', command=open_file) menu_file.add_separator() menu_file.add_command(label='閉じる', command=close_disp)
次に子要素を作成します。子要素とは「ファイル」がクリックされたときに表示されるメニューです。
先ほど作成した親要素の変数「menu_file」に「add_command」を使って子要素を追加します。子要素の名前は「label」で定義します。
そして子要素がクリックされるときに、発生させるイベントは「commnd」で定義します。ここでは事前に定義した関数を呼び出しています。
このように「tkinter.Menu」を使うとPythonで簡単にメニューバーを作成することができます。
参考ページ:https://docs.python.jp/3/library/tk.html
以上、Pythonで「Tkinter」を使ってメニューバーを作成する方法でした。
コメント