このPythonチュートリアルでは、Tkinterを使ってボタンの状態を調べたり変更したりする方法を学びます。
まず始めに、TkinterをPython環境にインストールする必要があります。
Tkinterのボタンを押すと、その状態を変更することができるグラフィカルユーザインターフェイスのウィンドウが表示されるでしょう。
まず、PythonのTkinterで状態がどうなっているかを把握する必要があります。
Tkinterは独自のグラフィカルユーザインタフェース(GUI)を設計することができるPythonのパッケージです。
Tkinterのボタンには、通常状態と無効状態の2つの状態があります。
通常の状態では、ボタンを押すことができますが、無効の状態では、ボタンをクリックすることができません。
そこで、この記事では、Tkinterのボタンの状態について学びます。
ボタン状態の実装
それでは、提供された課題のコーディングに取りかかりましょう。
まず、Tkinter パッケージをインポートしてください。
次に、appオブジェクトを作成し、ウィンドウサイズを200 x 200に設定します。
1
2
3
|
import tkinter as tk
app = tk.Tk()
app.geometry( "200x200" )
|
ボタン1とボタン2という2つのボタンを追加します。
アプリウィンドウに表示されるアプリとして引数を与え、text attributes に “Python Button 1” と設定することで名前を付けます。
ボタン1の状態に値tkを与えることで、ボタン1が無効であることを示すことにします。
DISABLEDです。
同様に、ボタン2には、何らかの関数名として、そのボタンを押すと、以下の関数が実行されるように命令を与えることにします。
関数として、switchButtonStateを用意します。
その関数は、後で定義します。
また、この2つのボタンを配置するためにパックを使用します。
1
2
3
4
|
button1 = tk.Button(app, text = "Python Button 1" ,state = tk.DISABLED)
button2 = tk.Button(app, text = "EN/DISABLE Button 1" ,command = switchButtonState)
button1.pack() button2.pack() |
下の関数は、ボタンの状態を変更します。
ボタンをクリックすると、button1 の状態が正常であれば、disabled に変更され、そうでなければ、正常のままとなります。
1
2
3
4
5
|
def switchButtonState():
if (button1[ 'state' ] = = tk.NORMAL):
button1[ 'state' ] = tk.DISABLED
else :
button1[ 'state' ] = tk.NORMAL
|
最後に、app.mainloop()を使ってアプリを実行させる必要があります。
app.mainloop() |
Button2をクリックすると、そのButton1の状態を変更することができるようになりました。
Python tkinter を使ってボタンの状態を変更する
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import tkinter as tk
def switchButtonState():
if (button1[ 'state' ] = = tk.NORMAL):
button1[ 'state' ] = tk.DISABLED
else :
button1[ 'state' ] = tk.NORMAL
app = tk.Tk()
app.geometry( "200x200" )
button1 = tk.Button(app, text = "Python Button 1" ,state = tk.DISABLED)
button2 = tk.Button(app, text = "EN/DISABLE Button 1" ,command = switchButtonState)
button1.pack() button2.pack() app.mainloop() |
出力画面
まとめ
ボタンの状態を変更する方法を学びました。
このチュートリアルはいかがでしたか?いずれにせよ、以下のチュートリアルをご覧になることをお勧めします。
- Python Tkinterチュートリアル。Tkinterのフォントクラスについて
- Python Tkinterプロジェクト: 携帯電話番号ランダム生成器
- Tkinter StringVarとその例 – Tkinterチュートリアル
- Tkinter IntVar – Tkinterチュートリアル(例題付き)
お時間を割いていただき、ありがとうございました! 何か新しいことを学べたでしょうか!