VBA別館・Python別館 64309


tkinterで使う部品

1:Tak :

2018/11/04 (Sun) 08:56:29

① Tkinterではこんな部品を使います。

意味合いは、VBAのユーザーフォームームで使う部品とほぼ同じです。 クラス名とは、これらの部品の原型が別にあり、それを複製変形して使うときの名前です。


ウィジェット名  クラス名      概要

フレーム     Frame    ウィジェットを格納する枠組みを作る
ラベル      Label     文字列やイメージを表示する
メッセージ    Message   複数行の文字列を表示する
ボタン      Button    ボタンを作る
ラジオボタン   Radiobutton ラジオボタンを作る
チェックボタン  Checkbutton チェックボタンを作る
リストボックス  Listbox    リストボックスを作る
スクロールバー  Scrollbar   スクロールバーを作る
スケール     Scale     スケールを作る
エントリー    Entry     1 行の文字列の入力と編集
メニュー     Menu     メニューを作る
メニューボタン  Menubutton  メニューボタンを作る
ビットマップ   Bitmap     ビットマップを作る
キャンバス     Canvas     キャンバスを作る
テキスト     Text      テキストの入力と編集
ラベルフレーム  LabelFrame  ラベル付きフレーム
スピンボックス  Spinbox   スピンボックスを作る
ペインウィンドウ PanedWindow ペインウィンドウを作る

少しずつ説明していきます。 
2:Tak :

2018/11/04 (Sun) 09:02:09

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1541295808.jpg frameとcanvasは、何回か説明しましたのでそちらをご覧ください。

今朝はネットへの繋がりが超slowです。

② ラベルの作成

rootに配置,テキストの指定,フォントの指定を行います。
---------------------------------
#tkinter(label1).py

import tkinter

# rootフレームの設定
root = tkinter.Tk()
root.title("tkinter Label")
root.geometry("300x280")
label1 = tkinter.Label(root,text="【入力画面】",font=16)
label1.pack(fill="x")

root.mainloop()
--------------------------

まずラベルを表示しました。 次回はこのラベルをウインドーのどこに表示させるかを学びます。
3:Tak :

2018/11/04 (Sun) 11:55:32

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1541300132.jpg ③ ラベルに色を付ける


-----------------------
import tkinter

root = tkinter.Tk()
root.title("tkinterを使おう")
root.geometry("300x280")

#ラベル
label1 = tkinter.Label(text='入力画面', foreground='#ff0000', background='#ffaacc')

label1.pack()

root.mainloop()

-------------------

色、背景を変えました。 何処で変えるかのお勉強です。
4:Tak :

2018/11/04 (Sun) 15:13:40

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1541312020.jpg ④ ラベルを並べる


------------------------
import tkinter

root = tkinter.Tk()
root.title("tkinterを使おう")
root.geometry("400x300")

# ラベル
label1 = tkinter.Label(text="ラベル1", bg="lightgray")
label1.pack()

label2 = tkinter.Label(text="ラベル2", bg="orange")
label2.pack()

label3 = tkinter.Label(text="ラベル3", bg="pink")
label3.pack()


root.mainloop()

----------------------------
5:Tak :

2018/11/04 (Sun) 19:18:41

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1541326721.jpg ⑤ ラベルをウインドーの上下左右に張り付ける


-------------------
import tkinter

root = tkinter.Tk()
root.title("tkinterを使おう")
root.geometry("400x300")

# ラベル、 ウインドーの上中下に配置する
label1 = tkinter.Label(text="ラベル1", bg="lightgray")
label1.pack(side=tkinter.TOP)

label2 = tkinter.Label(text="ラベル2", bg="orange")
label2.pack(side=tkinter.LEFT)

label3 = tkinter.Label(text="ラベル3", bg="pink")
label3.pack(side=tkinter.RIGHT)

label4 = tkinter.Label(text="ラベル4", bg="blue")
label4.pack(side=tkinter.BOTTOM)

root.mainloop()

------------------------------


6:Tak :

2018/11/04 (Sun) 20:11:23

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1541329883.jpg ⑥ ラベルをウインドー左側に一列に張り付ける


-------------------
import tkinter

root = tkinter.Tk()
root.title("tkinterを使おう")
root.geometry("400x300")


# ラベル
label1 = tkinter.Label(text="ラベル1", bg="lightgray")
label1.pack(anchor=tkinter.W)

label2 = tkinter.Label(text="ラベル2", bg="orange")
label2.pack(anchor=tkinter.W)

label3 = tkinter.Label(text="ラベル3", bg="pink")
label3.pack(anchor=tkinter.W)

label4 = tkinter.Label(text="ラベル4", bg="blue")
label4.pack(anchor=tkinter.W)

root.mainloop()
------------------

(anchor=tkinter.W)は、ラベルをW側(西側=画面の左側)という意味です。 東西南北です。

この配置は図に有る通りですが、一般的な使い方の一つですね。
7:Tak :

2018/11/05 (Mon) 08:47:24

⑦ ラベルの配置を決める

# ラベル #何も指定しないと、中央から張り付く
label1 = tkinter.Label(text="ラベル1", bg="lightgray")
label1.pack() 

# ラベル、 ウインドーの上中下に配置する
label1 = tkinter.Label(text="ラベル1", bg="lightgray")
label1.pack(side=tkinter.TOP) #TOP,LEFT,RUGHT,BOTTOMで配置決める

# ラベル
label1 = tkinter.Label(text="ラベル1", bg="lightgray")
label1.pack(anchor=tkinter.W) 
#E,W,S,N(東,西,南,北)で配置決めるが、ウインドー一杯に広がるのでフレーム使用が良い

どれを使うかは、ウインドーのデザインに合わせて選択するようです。 

でもこのやり方は面倒ですので、それ用にframeとか言うのが有るらしいです。

次回をそれでやって見ます。

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.