HOWTO · Tkinter

Tkinter 레이블 텍스트를 얻는 방법

이 튜토리얼은 Tkinter 레이블 텍스트를 변경하는 방법을 보여줍니다.

이 페이지의 내용

이 튜토리얼에서는 버튼을 클릭하여 Tkinter Label 텍스트를 얻는 방법을 소개합니다.

cget Tkinter Label 의 text 옵션 값을 얻는 방법

Tkinter Label 위젯에는 레이블에 텍스트를 가져 오는 특정 get 메소드가 없습니다. 지정된 옵션의 값을 반환하는 cget 메소드가 있습니다.

labelObj.cget("text")

아래 다이어그램은 버튼으로 트리거되는 이 흐름을 단계별로 보여줍니다.

cget() 예제에서 버튼으로 트리거되는 흐름을 보여주는 레이블 워크플로 다이어그램: Label에 “Hello, Tkinter!” 텍스트가 표시되고, 사용자가 “Get Label Text” 버튼을 클릭하면 버튼의 command가 콜백 show_label_text()를 호출하며, 콜백이 label.cget(“text”)로 텍스트를 읽고, 그 값이 콘솔에 출력됩니다. 캡처한 스크린샷이 아닌 그린 설명 다이어그램입니다.

다이어그램: 버튼 클릭부터 콜백과 cget(“text”)를 거쳐 출력되는 레이블 텍스트까지.

Label 객체의 text 속성 / opion 인 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()

Tkinter Label 텍스트를 얻기 위해 Label Object Dictionary 의 Key text 값을 읽습니다

레이블 객체도 사전이기 때문에 "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() 메소드는이 예제의 레이블 텍스트와 연관된 값을 리턴합니다.