前回はラベルの挿入まで行いました
今回はテキスト入力とボタンについて記述します
1、ベースのウィンドウを作る
win=tk.Tk()
win.title('text input & button')
win.geometry('300x100')
L1=tk.Label(win,text='name input!')
L1.pack()
前回行ったタイトル付きのウィンドウを開き、ラベルを付けます
ここまでは同じ
2、テキスト入力の箱を作ります
E1=tk.Entry(win,bd=10)
E1.pack()
(win,bd=10)の中身は前回のラベルのカスタムと同様に、パラメーターの変更で自由に調整できます
3、ボタンの作成
button=tk.Button(win,text='push↓!!',command=print_)
button.pack()
tk.Button()で押しボタンが出来ます
引数に
win ⇒ どのウィンドウに入れるか
text=’push↓!! ⇒ ラベル
command=print_ ⇒ ボタンを押したら何をするか。この場合は「print_」という関数を動かしなさいとしています
こちらも ラベルのカスタムと同様、パラメーターの変更で、自由に色と形を調整できます
4、関数を作る
import tkinter as tk
win=tk.Tk()
win.title('text input & button')
win.geometry('300x100')
L1=tk.Label(win,text='name input!')
L1.pack()
E1=tk.Entry(win,bd=10)
E1.pack()
button=tk.Button(win,text='push↓!!',command=print_)
button.pack()
win.mainloop()
※最後はwin.mainloop()で閉じる
「command=print_」としたので
print_関数を作ります※printではありません
def print_():
E2=E1.get()
print('こんにちは{}さん'.format(E2))
関数の中身ですが
E1のテキストボックスの中に入れられたテキストをE2へ代入
pirnt関数で ’こんにちは(テキスト入力した文字)さん’ と出力
5、実際に動かしてみる
テキストBOXに名前入力してpush↓ボタンを押すと
こんな感じになります
こちらが全文👇
import tkinter as tk
win=tk.Tk()
win.title('text input & button')
win.geometry('300x100')
L1=tk.Label(win,text='name input!')
L1.pack()
E1=tk.Entry(win,bd=10)
E1.pack()
def print_():
E2=E1.get()
print('こんにちは{}さん'.format(E2))
button=tk.Button(win,text='push↓!!',command=print_)
button.pack()
win.mainloop()
関数の正しい位置は分かりませんが、import文の下にあれば動くので、分かりやすい位置で良いと思います
(間違っていたら指摘してください)
独学プログラマー Python言語の基本から仕事のやり方まで
―関連記事―
Python備忘録 Tkinter編① インポート~ラベル作成