본문 바로가기

TOOL FOR ART/Python GUI

3. Tkinter _ 문자 입력받기

* Tkinter 목차 보기

 

파이썬 GUI 프로그래밍 _ Tkinter 배워보기

GUI 프로그래밍은 단순한 명령체계 프로그램이 아닌 윈도우에서 실행하여 사용자가 시각적으로 프로그램을 동작하고 명령을 내릴 수 있게 창을 만들어주는 것입니다. 그래서 그래픽 사용자 인

stlyw.tistory.com

1. 버튼과 호환 가능한 변수들

지난 시간에 버튼을 생성하여, 문자를 넣는 것까지 배워보았습니다. 여기서부터는 버튼에 다양한 기능을 할 수 있도록 여러 가지 변수형들에 대해 알아보도록 하겠습니다.

A. 문자형 변수 _ StringVar

파이썬의 GUI에서 문자형 변수는 'StringVar'라는 용어로 지칭한다. 간단히 말해서 'a', 'b', 그리고 'c'와 같은 문자형 변수를 의미한다. 예를 들어, 앞에서 배웠던 문자형 변수는 버튼에서 다음과 같이 작용했었습니다.

 

self.label = tk.Label(self, text="ARE YOU SURE?")

 

문자형 변수가 입력된 버튼

B. 정수형 변수 _ IntVar

파이썬의 GUI에서 정수형 변수는 'IntVar'라는 용어로 지칭한다. 간단히 말해서 '1', '2', 그리고 '0'과 같은 문자형 변수를 의미한다. 예를 들어, 이전에 Yes 버튼과 No 버튼을 정의할때, self.after 코드에서 적용된 첫번째 변수는 종료 시간을 의미한다. 다음과 같이 0에서 1000으로 바꾸어보자.

 

def yes_button(self):
    self.label.configure(text="YES")
    self.after(1000, self.destroy)

 

위 코드가 적용되어서 yes버튼을 누르면  정확히 1초뒤에 창이 종료된다. 이렇게 정수형태의 변수를 IntVar라고 지칭한다.

C. 소수형 변수 _ DoubleVar

파이썬의 GUI에서소수형 변수는 'DoubleVar'라는 용어로 지칭한다. 간단히 말해서 '0.1', '0.2', 그리고 '0.009'와 같은 소수형 변수를 의미한다.  소수형 변수의 예시는 생략하도록 하겠다.

D. 논리 자료형 변수 _ BooleanVar

파이썬의 GUI에서 논리 자료형 변수는 'BooleanVar'라는 용어로 지칭한다. 간단히 말해서  True, 나 False와 같은 문자형 변수를 의미한다. 논리형 변수의 예시는 생략하도록 하겠다.

2. 문자 입력 받아보기

문자를 입력받기 전에, 엔트리(Entry) 라는 위젯에 대해 알아보자. 

엔트리 위젯은 하나의 텍스트 박스라고 생각하면 편하다. 우리가 입력하고자 하는 텍스트나 혹은 특정한 변수들을 엔트리 상자안에 담을 수 있다. 다음의 예시를 보자.

 

예시코드:

class Window(tk.Tk):
def __init__(self):
    super().__init__()
    self.title("HOOKSMITH")
    self.label = tk.Label(self, text="ARE YOU SURE?")
    self.label.pack(fill=tk.BOTH, expand=1, padx=80, pady=20)
    self.yes_text =tk.StringVar()
    self.yes_entry=tk.Entry(self,textvar=self.yes_text)
    self.yes_entry.pack(fill=tk.BOTH,expand=1,padx=10,pady=10)

 

if __name__ == "__main__":
    window = Window()
    window.mainloop()

 

문자를 입력받는 엔트리

아무런 기능이 없긴하지만, 텍스트를 입력하는 엔트리를 생성했다.