본문 바로가기
Programming/Python

Tkinter Entry 위젯 - 002 : StringVar()

by The Programmer 2025. 2. 16.

1. Introduction

 

Tkinter GUI 라이브러리의 Entry  위젯에서 사용하는 StringVar() 사용법을 보여주는 예제입니다. StringVar()는 다른 위젯에서도 사용될 수 있습니다. 중요한 예제입니다. StringVar()를 사용하는 방법과 보통 일반 변수를 사용하는 방법의 차이점을 알아두면 좋겠습니다. (초안, 추후 수정.)

 

 

2. Code

 

# File Name : Tkinter_Entry_002_.py

 

import tkinter as tk

 

window = tk.Tk()
window.geometry("800x200+200+200")
window.title("Hello, James :: Entry 위젯 예제")

 

# 함수 1
def onSubmit():
    updatedText1.set("저는 라벨 텍스트입니다 : ")
    myEntryText1.set("2025' 프로그래머 굼벵이 양성 과정")

 

# 함수 2
def onCancel():
    myEntryText1.set("")
     updatedText1.set("KF-21 한국산 첨단 전투기!")

 

# 함수 3

def onTest ():
    newText = "This is a newText."
    myLabel2.config(text=newText)

 

#라벨용 tkinter 전용 변수 생성.
updatedText1 = tk.StringVar()
# 초기값  할당
updatedText1.set("이름 : ")

 

# 라벨1 위젯 생성
myLabel1 = tk.Label(text="이름 : ", textvariable=updatedText1)
myLabel1.pack()

 

# 엔트리용 tkinter 전용 변수 생성
myEntryText1 = tk.StringVar()
myEntryText1.set("초기 텍스트 : 따봉 2025' 프로그래머 꿈나무 양성 과정")

 

# Entry 위젯 생성
myEntry1 = tk.Entry(window, width=50, textvariable=myEntryText1)
myEntry1.pack()
# 초기 문자열 할당 가능
# myEntry1.insert(0, "Hello, James! ^.^;  : 초기 문자열 할당 가능합니다.")

 

# 버튼1 위젯 생성
mySubmitButton1 = tk.Button(window, text="텍스트 업데이트", command=onSubmit)
mySubmitButton1.pack()

 

# 버튼2 위젯 생성 
myCancelButton1 = tk.Button(window, text="지우기", command=onCancel)
myCancelButton1.pack()

 

# 라벨2 위젯 생성
myLabel2 = tk.Label(text="번개맨 : ")
myLabel2.pack()

 

# 버튼3 위젯 생성 
myTestButton1 = tk.Button(window, text="라벨 테스트", command=onTest)
myTestButton1.pack()

 

# 윈도우 실행
window.mainloop()

 

3. Result

 

 

4. Notes

일반 변수를 사용해서 라벨값 변경하기 :

- 문자열 변수를 하나 만들고 이 변수를 config() 메소드를 사용해서 라벨과 연결시키면 된다.

- 변수 newText는 일반 변수이다.

 

# 함수 3

def onTest ():
    newText = "This is a newText."
    myLabel2.config(text=newText)

 

 

widget.config() 메소드 방식 vs. 속성값 직접 할당 방식

 

updatedText1 = "저는 라벨 텍스트입니다 :"
myLabel1.config(text=updatedText1)

 

# 필요에 따라 Tkinter 전용 변수를 사용할 수 있다.

# 주로 위젯의 상태 정보를 다른 위젯에 전송하거나 상태 정보를 활용하려고 할 경우.

myEntryText1 = tk.StringVar()

myEntryText1.set("2025' 프로그래머 굼벵이 양성 과정")
myEntry1["textvariable"] = myEntryText1
# 이 방식보다 위젯.config() 방식이 추천된다.

 

myEntryText1.set("")
myEntry1["textvariable"] = myEntryText1

 

#  widget.config() 메소드 방식

updatedText1 = "KF-21 한국산 첨단 전투기!"
myLabel1.config(text=updatedText1)

 

# 위젯 속성 직접 할당 방식

updatedText1 = "KF-21 한국산 첨단 전투기!"
myLabel1["text"]="반장님, 만세!"

 

 

Entry에 입력된 텍스트 정보 알아내기

- Entry.get() : 현재 입력된 텍스트 정보 알아내기.

- set() and get()으로 값 설정하기, 값 알아내기.

- StringVar()와 그 친구들. (앨런 무어 참고.)

- 숫자 vs. 문자열

 

 

 Entry 텍스트 창에 문자열 할당하기

- Entry에 문자열 할당 가능

- Entry.set() 메소드 이용해서 하는 방법

- 다른 방법 : 
myEntry1.insert(0, "Hello, James! ^.^;  : 초기 문자열 할당 가능합니다.")

 

 

■ 응용 연습 과제

1) 라벨 추가

2) 버튼 추가

3) 함수 추가

 

5. Files

 

 

Tkinter_Entry_002_.py
0.00MB

 

 

6. Ref.

1) 앨런 무어. Tkinter.

 

 

Happy Programming!

^.^;