Tkinter ボタンのテキストを更新する方法

胡金庫 2023年1月30日
  1. Tkinter ボタンのテキストを変更するには、StringVar を使用する
  2. ボタンのテキストを変更する Tkinter Button の text プロパティ
Tkinter ボタンのテキストを更新する方法

このチュートリアルでは、Tkinter ボタンのテキストを変更する方法を紹介します。これは、Tkinter ラベルテキストを変更するメソッドに似ています、

  • StringVar メソッド
  • ボタンの text プロパティメソッド

Tkinter ボタンのテキストを変更するには、StringVar を使用する

StringVar は、Tkinter 文字列変数を作成する Tkinter コンストラクターの一種です。

StringVar 変数を Tkinter Button ウィジェットに関連付けた後、変数が変更されると、Tkinter はこの Button のテキストを更新します。

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("250x100")
        self.text = tk.StringVar()
        self.text.set("Original Text")
        self.buttonA = tk.Button(self.root, textvariable=self.text)

        self.buttonB = tk.Button(
            self.root, text="Click to change text", command=self.changeText
        )
        self.buttonA.pack(side=tk.LEFT)
        self.buttonB.pack(side=tk.RIGHT)
        self.root.mainloop()

    def changeText(self):
        self.text.set("Updated Text")


app = Test()

Tkinter 設定ボタンのテキスト

self.text = tk.StringVar()
self.text.set("Original Text")

Tkinter コンストラクターは、self.text = tk.StringVar("Text") のような文字列で文字列変数を開始できません。

self.text.set("Original Text") のように、set メソッドを呼び出して StringVar 値を設定する必要があります。

self.buttonA = tk.Button(self.root, textvariable=self.text)

StringVar 変数 self.text は、self.buttonA のオプション textvariable に割り当てられています。Tkinter は、self.text が変更されると、self.buttonA のテキストを自動的に更新します。

ボタンのテキストを変更する Tkinter Button の text プロパティ

Tkinter ボタンのテキストを変更する別の解決策は、ボタンの text プロパティを変更することです。

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("250x100")

        self.buttonA = tk.Button(self.root, text="Original Text")

        self.buttonB = tk.Button(
            self.root, text="Click to change text", command=self.changeText
        )
        self.buttonA.pack(side=tk.LEFT)
        self.buttonB.pack(side=tk.RIGHT)
        self.root.mainloop()

    def changeText(self):
        self.buttonA["text"] = "Updated Text"


app = Test()

textButton オブジェクトのキーの 1つで、そのテキストは text="Original Text" で開始でき、新しい値を text に割り当てることで更新することもできます。

以下に示すように、tk.Button.configure() メソッドは、text プロパティを変更して Tkinter Button のテキストを変更することもできます。

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("250x100")

        self.buttonA = tk.Button(self.root, text="Original Text")

        self.buttonB = tk.Button(
            self.root, text="Click to change text", command=self.changeText
        )
        self.buttonA.pack(side=tk.LEFT)
        self.buttonB.pack(side=tk.RIGHT)
        self.root.mainloop()

    def changeText(self):
        self.buttonA.configure(text="Updated Text")


app = Test()
著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Tkinter Button