TkinterのOptionMenuウィジェットで関数を呼び出す方法を解説
TkinterのOptionMenuウィジェットを使って関数を呼び出す方法を、実際の例を通して見ていきましょう。この例では、StringVarオブジェクトを使用し、そのget()メソッドを呼び出します。TkinterにおけるStringVarオブジェクトは、ウィジェットの値を管理するのに役立ちます。
ここでは、文字列のリストを持つOptionMenuウィジェットを作成します。ユーザーが選択肢を選ぶと、関数が呼び出され、選択された項目がラベルとして表示される仕組みです。
実装手順
tkinterライブラリをインポートし、tkinterフレームのインスタンスを作成します。
geometryメソッドを使用して、フレームのサイズを設定します。
文字列のセットを作成し、変数dataに保存します。
次に、StringVar()コンストラクタを使ってStringVarオブジェクトを作成します。これにより、ウィジェット(今回はOptionMenu)の値を管理できます。
文字列のリスト「options」とOptionMenuを作成します。StringVarオブジェクトと「options」を渡すことで、OptionMenuの選択肢を設定します。
OptionMenuで選択された項目を表示するためのラベルを作成します。
OptionMenuから選択された項目をラベルに表示するためのユーザー定義関数「OptionMenu_Select」を作成します。
パラメータcommand=OptionMenu_Selectを指定することで、ユーザーが選択肢を選んだときにユーザー定義関数が呼び出されるようにします。
最後に、アプリケーションウィンドウのmainloopを実行します。
サンプルコード
# tkinterライブラリをインポート
from tkinter import *
# tkinterフレームのインスタンスを作成
root = Tk()
root.geometry("700x300")
# 選択時に呼び出されるイベント関数を定義
def OptionMenu_Select(event):
label_city.config(text="あなたが選択した都市: " + var.get())
# 変数を作成
var = StringVar()
var.set("都市を選択してください")
options = ["Mumbai", "Chennai", "Bhubaneswar", "Pune", "Patna", "Bhopal", "Surat", "Hyderabad", "New Delhi", "Lucknow"]
OptionMenu(root, var, *(options), command=OptionMenu_Select).pack(pady=50)
label_city = Label(root, font="Calibri,12,bold")
label_city.pack(padx=20, pady=20)
root.mainloop()実行結果
上記のコードを実行すると、次のような出力が得られます。

ユーザーが選択肢を選ぶと、選択された項目がラベルとして表示されます。

-
Tkinterで簡単な画面(ウィンドウ)を作成する方法【初心者向け】
Pythonの標準GUIライブラリ「Tkinter」を使えば、わずか数行のコードで簡単な画面(ウィンドウ)を作成できます。追加のインストールは不要で、Pythonさえあればすぐに試せるのが魅力です。この記事では、Tkinterによる基本的なウィンドウの作り方を手順付きで解説します。 作成手順(アルゴリズム) シンプルな画面を作る流れは、以下の3ステップです。 ステップ1:tkinterモジュールをインポートする ステップ2:Tkクラスのオブジェクト(ウィンドウ)を作成する ステップ3:イベントループを開始して画面を表示する サンプルコード import tkinter as tk # ウィン
-
Tkinterでスプラッシュ画面を作成する方法をわかりやすく解説
アプリケーションを起動した際に一瞬だけ表示される「スプラッシュ画面」。ロゴや読み込み中表示などを映し出すことで、アプリに洗練された印象を与えられます。Pythonの標準GUIライブラリであるTkinterを使えば、このスプラッシュ画面も簡単に実装できます。スプラッシュ画面作成の基本手順Tkinterでスプラッシュ画面を作成するには、以下の手順に従います。ラベルなどを配置したスプラッシュ画面を作成するoverrideredirectメソッドを使って、スプラッシュ画面を枠なし(ボーダーレス)にするスプラッシュ画面の直後に表示されるメインウィンドウを生成する関数を定義するafterメソッドを使って、