【Python/Tkinter】コピペで使える基本的なGUIを公開
Tkinterでよく使う部品はテキストボックス、ラベル、ボタンの3つです。
今回はこれらの部品を使った画面を表示させるコードをお見せします。
お見せするコードでは画像のようなGUIが作成できます。
あとはご自分が使いたいようにカスタマイズしてみてください。
コピペで使える基本的なGUI(テキストボックス, ラベル, ボタン)
import tkinter as tk
def btn_pushed():
# ボタンが押された時に実行される関数
# テキストボックスに入力された内容をラベルに表示する
text = tb.get("1.0", "end")
lvl.config(text=text)
root = tk.Tk()
root.geometry("800x500") # Windowの画面サイズを設定
# テキストボックスを作成
tb = tk.Text(root)
tb.pack()
# ラベルを作成
lvl = tk.Label(root, width=20, height=5, text="ラベル")
lvl.pack()
# ボタンを作成(押すとbtn_pushed関数が実行される)
btn = tk.Button(root, text="表示", command=btn_pushed)
btn.pack()
# Windowを表示
root.mainloop()
先ほどのGUIを作成しているのは、このプログラムです。
それぞれコメントを付けてあるのですが、テキストボックス、ラベル、ボタンを作成できるようになっています。
少し分かりづらいかもしれないのは、ボタンの部分です。
ボタンを動作させるためには、押したときの動作を定義しておく必要があります。
# ボタンを作成(押すとbtn_pushed関数が実行される)
btn = tk.Button(root, text="表示", command=btn_pushed)
動作を定義しているのは、この部分のcommandです。
このcommandに関数を指定します。
すると、ボタンを押したときにcommandで指定した関数が実行されます。
Tkinterで使える部品一覧
今回紹介した3つ以外にもTkinterには様々な部品が存在します。
下記の表で部品をまとめたので、GUIをカスタムしたいときに活用してみてください。
部品 | 特徴 |
---|---|
text | 文字を入力、表示できる部品を意味します。テキストボックスと呼ばれる |
label | 文字や画像などを表示する |
button | Webページやアプリ内で利用されるようなボタン |
entry | Webページやアプリの会員登録、お問い合わせ画面などで利用されるテキストボックスとして利用する |
canvas | 様々な図形や画像を描画する |
listbox | 複数の選択肢の中から、1つ以上を選ぶときに使われる入力フォームに利用する |
spinbox | Webページやアプリの会員登録、お問い合わせ画面などで利用されるテキストボックスに、右側へ上下のボタンが付いたもの |
scrollbar | パソコン操作画面の右側または下側に表示される棒状の操作ツール |
scale | ファイルのダウンロード状況やタスクの進捗などを視覚化したもの |
menubutton | menubuttonを選択すると、様々なmenuを展開できる入れ物 |
menubar | パソコン上に表示される選択肢 |
radiobutton | 複数の選択肢の中から、1つを選ぶときに使われる入力フォーム |
checkbutton | 選択するとレ点が付く、見た目が四角な部品 |
labelframe | 1つ以上のWidgetを取りまとめるもの |
frame | 1つ以上のWidgetを取りまとめるもの |
panedwindow | 1つ以上のWidgetを取りまとめて、自由にWidgetの大きさを変更できるウィンドウ |
optionmenu | optionmenuを選択すると、様々な選択肢を表示する入れ物 |
combobox | 様々な選択肢を表示して選んだり、文字入力できるリストボックス |
scrolledtext | テキストボックスにscrollbarをとりつけたもの |
progressbar | ファイルのダウンロード状況やタスクの進捗などを視覚化するもの |
treeview | データを階層化して、表を作成するために使う |