Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterでボタンやキー入力に関数をバインドして呼び出す方法

Tkinterでアプリケーションを開発していると、「特定のボタンがクリックされたとき」や「キーが押されたとき」に任意の関数を実行したい場面がよくあります。そのような場合は、bind('<ボタンまたはキー>', コールバック関数) メソッドを使うことで、処理をまとめた関数をボタンやキー入力に簡単に紐づけることができます。キーボードの任意のキーだけでなく、マウスクリックなどのイベントも同じ方法でバインド可能です。

また、ttk.Button のように command オプションを持つウィジェットの場合は、ボタンの生成時に直接コールバック関数を指定する方法も利用できます。

サンプルコード

以下の例では、ボタンをクリックするとダイアログボックス(メッセージボックス)を表示する関数を呼び出しています。

# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk
from tkinter import messagebox

# Tkinterフレームのインスタンスを作成
win = Tk()

# ウィンドウのサイズを設定
win.geometry("700x350")

# ダイアログボックスを開く関数を定義
def open_prompt():
    messagebox.showinfo("Message", "Click Okay to Proceed")

# ラベルウィジェットを作成
Label(win, text="クリックしてメッセージボックスを開く").pack(pady=15)

# ダイアログボックスを開くためのボタンを作成
ttk.Button(win, text="Open", command=open_prompt).pack()

win.mainloop()

実行結果

上記のコードを実行すると、ラベルとボタンが配置されたウィンドウが表示されます。

Tkinterでボタンやキー入力に関数をバインドして呼び出す方法

「Open」ボタンをクリックすると、open_prompt 関数が呼び出され、メッセージボックスが表示されます。

Tkinterでボタンやキー入力に関数をバインドして呼び出す方法


  1. Python tkinterでボタンを作成する方法|標準tkinterとttkの違いも解説

    PythonのGUIライブラリ「Tkinter」には、ウィンドウ上にボタンを作成するためのさまざまな方法が用意されています。この記事では、標準のtkinterモジュールを使ったボタンの作成方法と、テーマ機能を持つtkinter.ttkモジュールを使ったボタンの作成方法の2通りを、サンプルコードとともにわかりやすく解説します。 tkinterモジュールでボタンを作成する 以下のプログラムでは、まずウィンドウを作成し、続いてButtonクラスを使ってボタンを生成しています。tkinterモジュール全体をインポートしているため、作成されたボタンには従来型のスタイル(テーマ)が適用されます。 主なパラ

  2. Python Tkinterでイベントを関数にバインドする方法【キーボード・マウス対応】

    Pythonの標準GUIライブラリであるTkinterは、デスクトップアプリケーション開発に広く利用されています。GUIプログラミングにおいて重要な概念の一つが「バインディング(Binding)」です。これは、ウィジェットやウィンドウに対してイベント(キー入力やマウス操作など)を関数やメソッドに関連付け、そのイベントが発生したタイミングで特定の関数が自動的に実行される仕組みです。本記事では、Tkinterにおけるバインディングの基本として、キーボードイベントとマウスクリックイベントを関数に紐付ける方法を具体例とともに解説します。キーボードイベントのバインドまずは、キーボードの任意のキーが押され