2
2

【Python】Tkinterのウィジェットにはどんなものがあるか

Posted at

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()

実行結果
スクリーンショット 2024-08-17 155339.png

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()

実行結果
スクリーンショット 2024-08-17 160752.png

上記コードではボタン押下によってターミナルに文字を表示するclick関数を実行しています。
「command」オプションに関数名を渡すことで関数を実行できます。
この際通常の関数の実行とは違い、関数名の後ろに「()」は付けないことにご注意ください。

Entry

主な用途:テキストボックスの表示。

import tkinter

root = tkinter.Tk()
root.title('ウィジェット')
root.geometry('400x300')

# テキストボックスの作成
entry = tkinter.Entry(root)
entry.pack()

root.mainloop()

実行結果
スクリーンショット 2024-08-17 163540.png
テキストボックスを表示させる単純なものですが、前述の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()

実行結果
スクリーンショット 2024-08-17 165341.png
Comboboxウィジェットはttkで新しく追加されたウィジェットなので、インポートをお忘れなく。
コンボボックスの作成にはリストを使用します。
「values」オプションにリストを渡すことでコンボボックスを作成することができます。

ウィジェットのオプションやその他のウィジェット

今回の紹介では基本的な表示のみを行いましたが、各ウィジェットに用意された様々なオプションを設定することで色や大きさ、表示位置などを設定することができます。
例えば「label.pack()」の「side」オプションに「'bottom'」を渡し、「label.pack(side='bottom')」とすることで、ウィンドウの下側に文字を表示させることができます。
また、記事で紹介したウィジェットは極々一部です。
他にも様々なウィジェットや使い方がありますので、是非参考元サイトもご覧になってみてください。

参考

【tkinter】ウィジェット・関連ツールの使い方一覧【Python】

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2