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
6. Ref.
1) 앨런 무어. Tkinter.
Happy Programming!
^.^;
'Programming > Python' 카테고리의 다른 글
Py5 연습 - 001 (0) | 2025.03.29 |
---|---|
Python Intro - 003 - Input and Return Value Ex. 001 (0) | 2025.02.16 |
Python Intro - 002 - 대문자 시그마 기호와 파이 기호 (0) | 2025.02.13 |
Tkinter Intro Ex-001 (Update 1.) (0) | 2024.12.22 |
[ 고급 ] 파일명 유틸리티 SR. (v.0.0.2 beta 002) - Updates #3, 4 (0) | 2024.11.26 |