Python Code Notes

Information by python engineer

【tkinter】Buttonの使い方【Python】

ボタン表示例

Buttonウィジェットはクリック時に特定の動作を実行させるためのウィジェットで、最も使用頻度の高いウィジェットの一つとなります。以下、基本的な使い方から応用例までを整理しました


【スポンサーリンク】


Buttonの概要

各種オプションを用いて様々な外観のボタンを表示させた例を示します。

ボタンウィジェットのcommandオプションを用いて、クリック時に実行する関数を紐づけることができます。この例では、4つのボタンすべて対して、クリック時にclicked関数を実行するように設定しています。また、各種オプションを用いて、ボタンの外観設定も同時に行っています。

How to use button widget

実行するとボタンが4個表示され、どのボタンをクリックしてもclicked関数が実行されてコマンドラインに"Button widget is clicked!"が表示されます。

一番下のボタンはttkモジュールを使用したボタンで、現代的なデザインのボタンになります。特にカーソルを合わせるとボタンの色が変化する初期設定となっており、デザイン性に優れています。

ボタンウィジェット(4個目はttkモジュール使用)

[↑ 目次へ]


【スポンサーリンク】


クリック数をカウントするボタン

ボタンをクリックした回数をラベルに表示し、10までカウントしたら0に戻るコード例を示します。

LabelのTextvariableオプションに変数(IntVar)を設定しておき、Buttonクリック時に実行する関数内でその値を1ずつ加算することで、Labelに表示される値を更新しています。

button click counter

実行するとラベルとボタンが表示され、ラベルの値は最初ゼロとなっています。

クリック数カウンター初期値

ボタンをクリックするたびにラベルの数値が加算されていき、10まで到達した後にクリックすると初期値ゼロに戻ります。

クリック数カウント

[↑ 目次へ]


【スポンサーリンク】


実行する関数に引数を渡す方法

やや複雑な処理を行う場合、ボタンクリック時に実行する関数に対して引数を渡したいケースが多くあります。

以下の例は、クリック時に実行する関数に対してクリックしたボタンウィジェットの情報を引数として渡し、コマンドラインにボタンのタイトルを表示する例となります。

commandオプションに関数を設定する際、"lambda:"を付けることで引数の設定が可能となります。そのまま引数を設定すると正常に動作しないのでご注意ください。

How to use button widget (pass argument)

[↑ 目次へ]