頑張ってウィンドウ内に文字を表示してみる
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()