Pythonで手軽にデスクトップアプリを作成できるTkinterには様々なウィジェット(アプリの中身を構成する部品)が用意されています。
どんなものがあるのか、簡単ではありますが代表的なものを軽くご紹介させていただきます。
Python、Tkinterについての説明は割愛しておりますのでご了承ください。
最初に
コードの下記部分は各ウィジェットで共通となります。
import tkinter # Tkinterのインポート
root = tkinter.Tk() # アプリのウィンドウを作成
root.title('ウィジェット') # ウィンドウにタイトルを表示
root.geometry('400x300') # ウィンドウの大きさを設定
root.mainloop() # アプリを実行
代表的なウィジェット
Label
主な用途:文字を表示させる。
import tkinter
root = tkinter.Tk()
root.title('ウィジェット')
root.geometry('400x300')
# Labelの作成
label = tkinter.Label(root,
text='label text' #「text='xxx'」で表示する文字を設定
)
label.pack()
root.mainloop()
Button
主な用途:ボタンの表示、ボタン押下による関数の実行など。
import tkinter
root = tkinter.Tk()
root.title('ウィジェット')
root.geometry('400x300')
def click():
print('Hello World')
# Buttonの作成
button = tkinter.Button(root,
text='Button', #「text='xxx'」でボタンに表示する文字を設定
command=click # click関数の実行
)
button.pack()
root.mainloop()
上記コードではボタン押下によってターミナルに文字を表示するclick関数を実行しています。
「command」オプションに関数名を渡すことで関数を実行できます。
この際通常の関数の実行とは違い、関数名の後ろに「()」は付けないことにご注意ください。
Entry
主な用途:テキストボックスの表示。
import tkinter
root = tkinter.Tk()
root.title('ウィジェット')
root.geometry('400x300')
# テキストボックスの作成
entry = tkinter.Entry(root)
entry.pack()
root.mainloop()
実行結果
テキストボックスを表示させる単純なものですが、前述のButtonと組み合わせて、関数に引数として渡すなど様々なことに使用します。
Combobox
主な用途:コンボボックスの表示。
import tkinter
from tkinter import ttk # ttkのインポート
root = tkinter.Tk()
root.title('ウィジェット')
root.geometry('400x300')
# コンボボックスの作成
item_list = ['りんご', 'バナナ', 'メロン', 'ブドウ'] # リストの作成
combobox = ttk.Combobox(root,
values = item_list # リストをセット
)
combobox.pack()
root.mainloop()
実行結果
Comboboxウィジェットはttkで新しく追加されたウィジェットなので、インポートをお忘れなく。
コンボボックスの作成にはリストを使用します。
「values」オプションにリストを渡すことでコンボボックスを作成することができます。
ウィジェットのオプションやその他のウィジェット
今回の紹介では基本的な表示のみを行いましたが、各ウィジェットに用意された様々なオプションを設定することで色や大きさ、表示位置などを設定することができます。
例えば「label.pack()」の「side」オプションに「'bottom'」を渡し、「label.pack(side='bottom')」とすることで、ウィンドウの下側に文字を表示させることができます。
また、記事で紹介したウィジェットは極々一部です。
他にも様々なウィジェットや使い方がありますので、是非参考元サイトもご覧になってみてください。