Python : tkinter ボタン、ラベル、テキストボックス
前回作った、tkinterのGUI画面にボタン、ラベル、テキストボックスを作る方法です。
※プログラムのほうは前回のものをすべて載せてあります。
まずはモジュールのインポート
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)
こんな感じで出来上がります。
プログラムは下記です。
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について書いた記事はここにリンクを貼ってあります。 興味があればぜひご覧ください。