【Hello World編その2】Tkinterを使用してHelloWorldを画面上に表示してみよう!
目次
本日の課題
本日はHellowWorld編その2ということで、前回書いたコードを元に、
ラベルという部品を使って画面上にHello Worldを表示してみたいと思います。
前回のコード
from tkinter import *
if __name__ == '__main__':
#Tkインスタンスを作成し、app変数に格納する
app = Tk()
#縦幅400横幅300に画面サイズを変更します。
app.geometry("400x300")
#タイトルを指定
app.title("Hello World Program")
#格納したTkインスタンスのmainloopで画面を起こす
app.mainloop()
開発環境
前回と同じ環境を使用します。
・Python3.x(僕は3.6を使用しています)
・Windows10(7でもおそらく問題ないです)
実践
前回のファイルをコピーして名前を変更しよう!
前回のファイルはそのまま残しておいて、
今回はHelloWorld_02.pyというファイル名で作成していきたいと思います。
ttkパッケージをimportしよう!
下記のコードを上部に追記してください。
import tkinter.ttk as ttk
from importと異なる点はtkinter.ttkパッケージをttkという別名をつけてimportする点です。
理由は様々ありますがここでは割愛します。
ttkはTk のテーマ付きウィジェットという立ち位置で、
一部を除きTkにあるウィジェットを利用でき、かつ見た目がよくなっています。
下記が追加後のコードです。
from tkinter import *
import tkinter.ttk as ttk
if __name__ == '__main__':
#Tkインスタンスを作成し、app変数に格納する
app = Tk()
#縦幅400横幅300に画面サイズを変更します。
app.geometry("400x300")
#タイトルを指定
app.title("Hello World Program")
#格納したTkインスタンスのmainloopで画面を起こす
app.mainloop()
フレームを作成しよう!
ボタンやテキストボックスは基本的にフレームの中に配置します。
現段階でフレームとは画面内の箱、入れ物だと思ってください。
タイトル指定のあとに下記コードを追加しましょう。
frame = ttk.Frame(app) frame.pack()
このコードを追加することで、フレームを作成することができます。
ttk.Frame()には親を指定することができます。(今回はメインの画面であるappを指定しています)
pack()を命令することで実際に画面に詰めることができます。(pack以外にも方法はありますがそれはまた後日)
下記が追加後のコードです。
from tkinter import *
import tkinter.ttk as ttk
if __name__ == '__main__':
#Tkインスタンスを作成し、app変数に格納する
app = Tk()
#縦幅400横幅300に画面サイズを変更します。
app.geometry("400x300")
#タイトルを指定
app.title("Hello World Program")
#フレームを作成する
frame = ttk.Frame(app)
#格納したTkインスタンスのmainloopで画面を起こす
app.mainloop()
一度実行してみましょう。

見た目はほとんど変化がないですね。
バグがでているわけではないので安心してください。
ラベルを追加しよう!!
いよいよ本題に近づいてきました。
ラベルは下記コードで追加することが可能です。
label = ttk.Label(frame,text="text") label.pack()
ttk.Labelも属する親を指定することができます。
ここでは先ほど作った箱(フレーム)の中に入れます。
pack()して実際に画面に詰めます。
下記が追加後のコードです。
from tkinter import *
import tkinter.ttk as ttk
if __name__ == '__main__':
#Tkインスタンスを作成し、app変数に格納する
app = Tk()
#縦幅400横幅300に画面サイズを変更します。
app.geometry("400x300")
#タイトルを指定
app.title("Hello World Program")
#フレームを作成する
frame = ttk.Frame(app)
frame.pack()
#ラベル作成
label = ttk.Label(frame,text="text")
label.pack()
#格納したTkインスタンスのmainloopで画面を起こす
app.mainloop()
再度実行してみましょう。

textという文字が出ていれば成功です!!
あともう少しで今回の講義は終了です。
文字をHello Worldに変更しよう!
text=”text”を下記のように変更してみましょう!
label = ttk.Label(frame,text="Hello World")
text=”表示したい文字”とすることで、文字ラベルとして表示してくれます。
変更後コード
from tkinter import *
import tkinter.ttk as ttk
if __name__ == '__main__':
#Tkインスタンスを作成し、app変数に格納する
app = Tk()
#縦幅400横幅300に画面サイズを変更します。
app.geometry("400x300")
#タイトルを指定
app.title("Hello World Program")
#フレームを作成する
frame = ttk.Frame(app)
frame.pack()
#ラベル作成
label = ttk.Label(frame,text="Hello World")
label.pack()
#格納したTkインスタンスのmainloopで画面を起こす
app.mainloop()
実行してみましょう。

どうでしょうか。表示できましたか?
お疲れ様です。今回の講義はここで終了です。
まとめ&次回予告
今回はフレームとラベルについて学習しました。
前回と比べるとコードの複雑さも増してなかなか難しかったのではないでしょうか?
コツコツやっていきましょう。
何かわからないことがあればコメントください。
答えられる範囲でならお答えしたいと思います。
次回はHelloWorld編その3として、ボタンを作成していきたいと思います。
See you soon.