Tkinter ラベルのテキストを取得する方法

胡金庫 2023年1月30日
  1. Tkinter Labeltext オプション値を取得する cget メソッド
  2. ラベルオブジェクトディクショナリのキー text の値を読み取り、Tkinter Label テキストを取得する
  3. StringVar を使用して Tkinter の Label テキストを取得する
Tkinter ラベルのテキストを取得する方法

このチュートリアルでは、ボタンをクリックして Tkinter Label テキストを取得する方法を紹介します。

Tkinter Labeltext オプション値を取得する cget メソッド

Tkinter の Label ウィジェットには、ラベル内のテキストを取得するための特定の get メソッドがありません。指定したオプションの値を返す cget メソッドがあります。

labelObj.cget("text")

Label オブジェクトの text プロパティ/オプション-labelObj を返します。

cget メソッドの完全な使用例

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("200x80")
        self.label = tk.Label(self.root, text="Text to be read")

        self.button = tk.Button(
            self.root, text="Read Label Text", command=self.readLabelText
        )
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def readLabelText(self):
        print(self.label.cget("text"))


app = Test()

ラベルオブジェクトディクショナリのキー text の値を読み取り、Tkinter Label テキストを取得する

ラベルオブジェクトも辞書なので、"text"キーにアクセスしてテキストを取得できます。

完全な動作例

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("200x80")
        self.label = tk.Label(self.root, text="Text to be read")

        self.button = tk.Button(
            self.root, text="Read Label Text", command=self.readLabelText
        )
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def readLabelText(self):
        print(self.label["text"])


app = Test()

StringVar を使用して Tkinter の Label テキストを取得する

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

StringVar 変数を Tkinter ウィジェットに関連付けた後、StringVar 変数の値を読み取ることでラベルのテキストを取得できます。

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("200x80")
        self.text = tk.StringVar()
        self.text.set("Text to be read")
        self.label = tk.Label(self.root, textvariable=self.text)

        self.button = tk.Button(
            self.root, text="Read Label Text", command=self.readLabelText
        )
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def readLabelText(self):
        print(self.text.get())


app = Test()

StringVar 変数の get() メソッドは、この例のラベルテキストに関連付けられている値を返します。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

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

LinkedIn Facebook

関連記事 - Tkinter Label