Tkinter 레이블 텍스트를 변경하는 방법

  1. Stringvar 를 사용하여 Tkinter 레이블 텍스트를 변경하십시오
  2.  레이블 텍스트를 변경하기위한 레이블 text 속성

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

Stringvar 를 사용하여 Tkinter 레이블 텍스트를 변경하십시오

StringVar은 Tkinter 문자열 변수를 만드는 Tkinter 생성자의 한 유형입니다.

StringVar 변수를 Tkinter 위젯에 연결 한 후 Tkinter 는 변수가 수정 될 때이 특정 위젯을 업데이트합니다.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.text = tk.StringVar()
        self.text.set("Test")
        self.label = tk.Label(self.root, textvariable=self.text)

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

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

app=Test()

Tkinter set 레이블 텍스트

self.text = tk.StringVar()
self.text.set("Test")

Tkinter 생성자는 self.text = tk.StringVar()와 같은 문자열로 문자열 변수를 시작할 수 없습니다.

self.text.set( "Test")와 같이 StringVar 값을 설정하려면 set 메소드를 호출해야합니다.

self.label = tk.Label(self.root, textvariable=self.text)

textvariableself.text 로 설정하여 StringVar 변수 self.text 를 레이블 위젯 self.label 에 연관시킵니다. Tk 툴킷은 self.text 의 변경 사항을 추적하기 시작하고 self.text 가 수정되면 self.label 텍스트를 업데이트합니다.

 레이블 텍스트를 변경하기위한 레이블 text 속성

Tkinter 레이블 텍스트를 변경하는 또 다른 솔루션은 레이블의 text 속성을 변경하는 것입니다.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(self.root, text="Text")

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def changeText(self):
        self.label['text'] = "Text updated"        

app=Test()

레이블의 텍스트는 text = "Text"로 시작될 수 있고 레이블 객체의 텍스트 키에 새로운 값을 할당하여 업데이트 할 수도 있습니다.

아래와 같이 tk.Label.configure() 메소드로 text 속성을 변경할 수도 있습니다. 위의 코드와 동일하게 작동합니다.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(self.root, text="Text")

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

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

app=Test()

관련 문장 - Tkinter Label

  • Tkinter 레이블 글꼴 크기를 변경하는 방법