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
반응형
'Python > [파이썬] GUI 프로그래밍' 카테고리의 다른 글
[파이썬] GUI 프로그래밍 #6 리스트 박스 만들기 (0) | 2021.08.20 |
---|---|
[파이썬] GUI 프로그래밍 #5 레이블 만들기 (0) | 2021.08.19 |
[파이썬] GUI 프로그래밍 #3 버튼 만들기 (0) | 2021.08.18 |
[파이썬] GUI 프로그래밍 #2 창 만들기 (0) | 2021.08.17 |