
まくまく
tkinterでボタンを押すとラベルを書き換えるコマンドに初期値を設定してみます。
出力
以下のプログラムを実行すると、このようなウインドウが立ち上がります。
左上のテキストボックスに文字を入力してボタンを押すと、「ここにテキストが表示されます」と書かれたラベルが書き換わります。
この「ここにテキストが表示されます」が初期値です。
20行目の「value=”ここにテキストが表示されます”」の部分ですね。ここに何も書かなければ初期値は空白のままです。
適当に文字を入力してボタンを押してみると、下のラベルが書き換わりました。
サンプルプログラム
#ライブラリのインポート
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master.geometry("600x200+50+50")
self.master.title("ウインドウ")
#フレームの作成
self.frame1 = tk.Frame(self.master, width=580, height=180, padx=10, pady=10, bg="#E6E6E6")
self.frame1.grid_propagate(False)
self.frame1.place(x=10, y=10)
#ウィジェット作成
self.create_widgets()
def create_widgets(self):
#テキストボックス-ラベル-1
self.entry1 = tk.Entry(self.frame1, width=30)
self.entry1.grid(row=0, column=0, sticky=tk.W)
self.text_a = tk.StringVar(value="ここにテキストが表示されます")
self.label1 = tk.Label(self.frame1, textvariable=self.text_a)
self.label1.grid(row=1, column=0, sticky=tk.W)
#ボタン作成
self.button = tk.Button(self.frame1, text="ボタン", width=3, height=1)
self.button.grid(row=4, column=0)
self.button.bind("", self.click_button)
#ボタンを押したときのコマンド設定
def click_button(self, event):
en_get = self.entry1.get()
self.text_a.set(en_get)
def main():
root = tk.Tk()
app = Application(master=root)
app.mainloop()
if __name__ == "__main__":
main()