Python : tkinter ボタン、ラベル、テキストボックス

前回作ったtkinterGUI画面にボタン、ラベル、テキストボックスを作る方法です。

※プログラムのほうは前回のものをすべて載せてあります。

 

まずはモジュールのインポート

import tkinter

ボタンで呼び出す関数です。

def message():
 print('hello')

クラス等を作成します。
root = tkinter.Tk()
root.geometry('500x250+100+100')
root.title('GUI graphical User Interface')

 

 

 

ボタンの作成です。
#bg : 背景色
#fg : 文字色
btn_message = tkinter.Button(root, text='massage',font=("",15) , bg='snow', fg='red', width=8, command=message)

ボタンの名前を決めます : btn_message

コマンドはtkinter.Button(

     ,root                  書き込むクラスの名前

     ,text='massage'           ボタンに書くテキスト

     ,font=("",15)              フォントのサイズ

     ,bg='snow'                背景色 色の種類はここを参照ください。

     ,fg='red'                          文字色 色の種類はここを参照ください。

     ,width=8                         ボタンの幅

     ,command=message     messageの関数を呼び出す

     )


この後にボタンの位置を決めます。
btn_message.place(x=300, y=200)

 

閉じるボタンの作成

この時はcommandをroot.destroyと書きます。
btn_close = tkinter.Button(root, text='close', font=("",15) , command=root.destroy)
閉じるボタンの位置を決める。
btn_close.place(x=400, y=200)

 

次にラベルの作成です。

ボタンと中身は同じですが、最初はtkiner.Labelで作ります。
lbl = tkinter.Label(root,text='label', font=("",15))
ラベルの位置決定を決めます。
lbl.place(x=35,y=50)


テキストボックスの作成

上のボタンとやっぱり中身同じです。

ここで違うのは右詰めにするために、justify='right'としています。

左詰めはleftです。
txt_100 = tkinter.Entry(root,width=7,font=("",15),justify='right')
テキストボックスの位置決定
txt_100.place(x=100,y=50)


テキストボックスの初期値を入力する際は

下記のようにinsertを使います。
txt_100.insert(tkinter.END,100)

こんな感じで出来上がります。

f:id:Kangkang1981:20200412232502p:plain

 

プログラムは下記です。

import tkinter

def message():
    print('hello')

# Tkクラス生成
root = tkinter.Tk()
# 画面サイズ
root.geometry('500x250+100+100')
# 画面タイトル
root.title('GUI graphical User Interface')

#ボタンの作成
#bg : 背景色
#fg : 文字色
btn_message = tkinter.Button(root, text='massage',font=("",15) , bg='snow', fg='red', width=8, command=message)
#ボタンの位置決定
btn_message.place(x=300, y=200)

#閉じるボタンの作成
btn_close = tkinter.Button(root, text='close', font=("",15) , command=root.destroy)
#閉じるボタンの位置決定
btn_close.place(x=400, y=200)

#ラベルの作成
lbl = tkinter.Label(root,text='label', font=("",15))
#ラベルの位置決定
lbl.place(x=35,y=50)
#テキストボックスの作成
txt_100 = tkinter.Entry(root,width=7,font=("",15),justify='right')
#テキストボックスの位置決定
txt_100.place(x=100,y=50)
#テキストボックスに位置入力
txt_100.insert(tkinter.END,100)

#ラベルの作成
lbl = tkinter.Label(root,text='label', font=("",15))
#ラベルの位置決定
lbl.place(x=35,y=100)
#テキストボックスの作成
txt_100_l= tkinter.Entry(root,width=7,font=("",15),justify='left')
#テキストボックスの位置決定
txt_100_l.place(x=100,y=100)
#テキストボックスに位置入力
txt_100_l.insert(tkinter.END,100) #ループ root.mainloop()

今までにpythonについて書いた記事はここにリンクを貼ってあります。 興味があればぜひご覧ください。