ウィンドウにメッセージと入力欄を入れてみよう!(LabelとEntry)

ウィンドウにメッセージと入力欄を入れてみよう!(LabelとEntry)

ウィンドウにメッセージと入力欄をいれる

前回の記事で、数当てゲームで使うウィンドウが出せたね。今回はこの中にメッセージと入力欄を作っていく。プログラムは前回のものに書き足していくよ。

ウィンドウに「ラベル」を入れる

ウィンドウに「4桁の数字を入れてね」というメッセージを入れていくよ。こういうメッセージのことを「ラベル(label)」と言うから覚えておこう。これには前回も使ったtkinterの中の「Label」という関数を使うよ。書き方はこんな感じ。

# codeing=utf-8
import tkinter as tk

root = tk.Tk()
root.geometry("480x160")
root.title("数当てゲーム")

label_01 = tk.Label(root, text="4桁の数字をいれてね")

root.mainloop()

8行目がラベルについて追加した部分だね。Label関数は下のような感じで使うよ。

①ラベルの名前(変数) = Label(②ラベルを入れたいもの, ③text=”ラベルのテキスト”)

①はなんでもいいんけど「label_01」って名前にしてみた。前回の記事でウィンドウにはrootという名前をつけたから②に「root」、③は「4桁の数字を入れてね」というメッセージを入れてるんだね。

これでラベルができたんだけど、実はまだ「ラベルをroot用につくって」って命令しただけ。「ラベルをrootの中に置いて」って命令は別で書かないとダメなんだ。そのために使えるのが「place関数」だよ。書き方はこんな感じ。

# codeing=utf-8
import tkinter as tk

root = tk.Tk()
root.geometry("480x160")
root.title("数当てゲーム")

label_01 = tk.Label(root, text="4桁の数字をいれてね")
label_01.place(x=20, y=20)

root.mainloop()

9行目の部分だね。さっきつくったラベルには「label_01」って名前をつけたから、label_01.place(x,y)って書くとラベルを置くことができるんだ。x,yっていうのはラベルの位置を指定するところ。xは左端から何pxか。yは上端から何pxかを数字で指定するよ。

さあ、これで実行してみよう。こんなウィンドウが出て来るよ!

ウィンドウに「入力欄」を入れる

次は数字を入れる「入力欄」をつくっていくよ。入力欄には「Entry関数」を使うんだ。テキストの入力欄は「エントリー(Entry)」って呼ぶから覚えておこう。書き方はラベルのときと似てるよ。こんな感じだ。

# codeing=utf-8
import tkinter as tk

root = tk.Tk()
root.geometry("480x160")
root.title("数当てゲーム")

label_01 = tk.Label(root, text="4桁の数字をいれてね")
label_01.place(x=20, y=20)

entry_01 = tk.Entry(width = 4)
entry_01.place(x=160, y=18)

root.mainloop()

11,12行目に注目。入力欄には「entry_01」という名前をつけた。ラベルのときと同じだね。そして「Entry(width = 4)」というところでは、入力欄の横幅を指定してるんだ。4というのは4文字分っていう意味。今回は4つの数字をいれるからこうしたんだね。

これで実行してみると、下のようなウィンドウが出て来るよ!

文字の種類や大きさを調整しよう!

ここまでで必要な機能はちゃんと設置することができたね。でもさらに文字の見た目を調整していくこともできるんだ。Label()やEntery()では、フォントの設定を引数に渡すことも出来るんだ。書き方はこんな感じ。

label_01 = tk.Label(root, text="4桁の数字をいれてね", font=("Helvetica",14))

引数を「,」で区切って、font=(“フォント名”,フォントサイズ)と書けばいいんだ。この書き方はEntry()でも同じ。こんなふうになるよ。

entry_01 = tk.Entry(width = 4, font=("Helvetica",28))

ここまでのプログラムを全部まとめるとこんな感じだ。フォントを大きくしたから、文字の位置も少し調整してあるよ。

# codeing=utf-8
import tkinter as tk

root = tk.Tk()
root.geometry("480x160")
root.title("数当てゲーム")

label_01 = tk.Label(root, text="4桁の数字をいれてね", font=("Helvetica",14))
label_01.place(x=20, y=20)

entry_01 = tk.Entry(width = 4, font=("Helvetica",28))
entry_01.place(x=20, y=45)

root.mainloop()

▽ 実行結果

今日のまとめ

  • Label()の使い方を覚えよう!
  • Entry()の使い方を覚えよう!
  • フォントの設定を引数に渡してみよう!