Python/[파이썬] GUI 프로그래밍

[파이썬] GUI 프로그래밍 #4 입력창 만들기

예찬예찬 2021. 8. 19. 22:38
728x90
반응형

입력창을 생성하는 기본 함수는 Entry()와 Text()이다.

ent = Entry(root) # root라는 창에 입력창 생성
ent.pack()        # 입력창 배치

ent1 = Text(root) # root라는 창에 입력창 생성
ent1.pack()       # 입력창 배치

이렇게 코드를 짜고 실행을 시키면

입력창이 생성된 걸 볼 수 있다.

 

Entry()와 Text()의 차이점은 

Entry()는 한 줄만

Text()는 여러 줄을

입력할 수 있다는 차이점을 가지고 있다.

 

입력창을 생성했다면 이제 이 입력창에 입력된 값을 가지고

다른 곳에 사용하는 방법을 알아보자.

 

기본적으로 입력창의 내용을 추출하는 함수는 get()이다.

ent.get() # 입력창 내용 추출

ent1.get("1.0", END) #  첫번째 줄 (1) 맨 왼쪽(0)위치부터 마지막(END) 까지 추출

입력 창도 버튼과 동일하게 크기나 글자색 등을 설정해줄 수 있다.

 

Text()의 경우에는 여러줄을 입력할 수 있으니

몇 번째줄 몇번째 column부터 어디까지 추출할 수 있는지 설정할 수 있다.

ent.config(width=30)              # 입력창 크기 설정
ent.config(fg="red", bg="yellow") # 입력창 배경, 글자색 설정
ent.insert(0, "글자 입력가능")    # 처음 입력창에 첫번째 자리(0)에 텍스트를 입력

 

저번 글에서 배운 버튼과 입력창을 활용하여

아래와 같은 코드를 만들 수 있다.

 

from tkinter import *            # tkinter 라이브러리에 모든 함수를 사용하겠다.
root = Tk()                      # 창을 생성
root.geometry("600x400")       # 창 크기설정
root.title("yeachan_yeachan")    # 창 제목설정
root.option_add("*Font","맑은고딕 25") # 폰트설정
root.resizable(False, False)  # x, y 창 크기 변경 불가

def btnpress():                   # 함수 btnpress() 정의
    btn.config(text = ent.get())

ent = Entry(root)                 # root라는 창에 입력창 생성
ent.pack()                        # 입력창 배치
    
btn = Button(root)                # root라는 창에 버튼 생성
btn.config(text= "버튼")          # 버튼 내용 
btn.config(width=10)              # 버튼 크기
btn.config(command=btnpress)      # 버튼 기능 (btnpree() 함수 호출)
btn.pack()                        # 버튼 배치

root.mainloop()                  # 창 실행

위 코드를 실행시키면 아래와 같이

버튼을 누르면 입력창에 입력된 값을 불러와

버튼 내용에 적용시키는 것을 볼 수 있다.

 

이런 식으로 get() 함수를 활용하여

입력창에 입력값을 불러올 수 있다.

 

이로써 입력창을 만들고 설정

그리고 입력된 값을 가지고 간단한 프로그램도 만들어 봤다.

 

다음 글에서는 레이블을 넣는 방법을 알아보자

728x90
반응형