頑張ってウィンドウ内に文字を表示してみる
Tkinter Label Widgetを利用する
Label()で、文字表示が可能です。
第1引数に親を指定し(この場合、self.root)、text=' 'に文字を入力します。
最後にpack()メソッドで表示可能となります。
pack()をしないと表示されませんので、注意。
#!/usr/bin/env python # coding=utf-8 from tkinter import * class MyWindow(object): def __init__(self): self.root = Tk() self.lbl_Text = Label(self.root, text = '表示してみる') self.lbl_Text.pack() self.root.mainloop() if __name__ == '__main__': app = MyWindow()
後ほど解説する予定ですがLabelウィジットは、jpgやgifといったイメージを表示することもできます。
それから、ラベルの表示位置についてですが、パック( pack() )の方法によって変わります。
#!/usr/bin/env python # coding=utf-8 from tkinter import * class MyWindow(object): def __init__(self): self.root = Tk() self.lbl_Hello = Label(self.root, text = 'こんにちは、世界さん') self.lbl_GoodBye = Label(self.root, text = 'さようなら、世界クン') self.lbl_Hello.pack() # ←ココに注目! self.lbl_GoodBye.pack() # ←ココに注目! self.root.mainloop() if __name__ == '__main__': app = MyWindow()
垂直方向に表示
#!/usr/bin/env python # coding=utf-8 from tkinter import * class MyWindow(object): def __init__(self): self.root = Tk() self.lbl_Hello = Label(self.root, text = 'こんにちは、世界さん') self.lbl_GoodBye = Label(self.root, text = 'さようなら、世界クン') self.lbl_Hello.pack(side = LEFT) # ←ココに注目! self.lbl_GoodBye.pack(side = LEFT) # ←ココに注目! self.root.mainloop() if __name__ == '__main__': app = MyWindow()
水平方向に表示
pack()だと垂直方向にラベルを配置していき、pack(side = LEFT)の場合は、左から順に配置していく、といった具合です。
Frameを先に組み込む
ここまではrootに直接、ラベルを配置してきましたが、実はこれはあまり良い方法ではなく、
rootの中にフレーム(Frame)を入れてから、その中にラベルを配置していくというのが一般的です。
イメージとしては、こんな感じです→
で、作りなおすと下記のようになります。フレームも設定しただけではダメです。
必ず、pack()してください。
#!/usr/bin/env python # coding=utf-8 from tkinter import * class MyWindow(object): def __init__(self): self.root = Tk() self.frm_Main = Frame(self.root) self.frm_Main.pack() self.lbl_Hello = Label(self.frm_Main, text = 'こんにちは、世界さん') self.lbl_GoodBye = Label(self.frm_Main, text = 'さようなら、世界クン') self.lbl_Hello.pack(side = LEFT) self.lbl_GoodBye.pack(side = LEFT) self.root.mainloop() if __name__ == '__main__': app = MyWindow()