전체 소스코드
from tkinter import *
root = Tk()
root.title("GUI")
root.geometry("300x150")
#텍스트 입력 칸 만들기
txt = Text(root, width=30, height=5)
txt.pack()
#기본 입력 텍스트
txt.insert(END, "글자를 입력하세요")
#텍스트 입력 칸 만들기
e = Entry(root, width=30)
e.pack()
#기본 입력 텍스트
e.insert(0,"한 줄만 입력하세요")
def btncmd():
#입력 내용 출력
print(txt.get("1.0", END)) #1: 첫번째 라인, 0: 0번째 column
print(e.get())
#입력 내용 삭제
txt.delete("1.0", END)
e.delete(0, END)
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
root.mainloop()
텍스트 입력 칸 만들기
txt = Text(root, width=30, height=5)
txt.pack()
e = Entry(root, width=30)
e.pack()
텍스트 입력 칸을 만드는 방법은 두 가지가 있다
1. Text
2. Entry
사용 방식은 비슷하지만 차이점이 있다
text는 enter 가능, entry는 enter 불가
여러 줄 입력받을 때는 text 사용
한 줄로 입력받을 때는 entry가 적절하다
또한 entry에는 height 속성을 지정할 수 없다

위의 코드를 실행하면 이렇게 뜬다
기본 입력 텍스트 설정
txt.insert(END, "글자를 입력하세요")
e.insert(0,"한 줄만 입력하세요")
.insert()를 사용하면 기본 입력 텍스틑 지정할 수 있다
.insert(인덱스, 입력텍스트)로 입력해주면 된다
아무것도 써있지 않기에 인덱스 자리에 END와 0를 넣은 결과가 같다

입력 내용 삭제, 출력
def btncmd():
#입력 내용 출력
print(txt.get("1.0", END)) #1: 첫번째 라인, 0: 0번째 column
print(e.get())
#입력 내용 삭제
txt.delete("1.0", END)
e.delete(0, END)
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
입력된 텍스트를 가져오려면 .get()이 필요하다
Text에서는 .get(인덱스) 같이 괄호 안에 인덱스를 넣어주어야 한다
txt.get("1.0", END)에서 1은 첫번째 라인, 0은 0번째 column이라는 의미로
완전 처음을 뜻한다
그렇기에 .get("1.0", END)은 처음부터 끝까지 텍스트를 불러온다
Entry는 .get()만 적어주면 된다


버튼을 누르면 입력했던 내용이 터미널에 출력된다
삭제도 비슷하다
.delete(시작인덱스, 끝인덱스)를 사용한다

버튼을 누르면 입력했던 내용이 사라지고 공백이 된다
'python > tkinter' 카테고리의 다른 글
[Python tkinter GUI] #6 Checkbutton(체크버튼) (0) | 2022.12.16 |
---|---|
[Python tkinter GUI] #5 Listbox(리스트박스) (0) | 2022.12.16 |
[Python tkinter GUI] #3 Label(라벨) (0) | 2022.12.15 |
[Python tkinter GUI] 버튼의 높이와 너비 지정하기 (0) | 2022.12.15 |
[Python tkinter GUI] #2 Button(버튼) 위젯 만들기 (0) | 2022.12.14 |
댓글