6. Text & Entry
from tkinter import *
root = Tk()
root.title("WT GUI")
root.geometry("640x480") # 가로 X 세로 / 대문자X 하면 실행안됨
txt = Text(root, width=30, height=5)
txt.pack()
txt.insert(END, "글자를 입력하세요") #글자위치, 입력될 내용
e = Entry(root, width=30) # entry 는 Enter(줄바꿈) 안됨
e.insert(0, "한 줄만 입력해요") # 위치 0 : 처음 위치
e.pack()
def btncmd():
# 내용 출력
print(txt.get("1.0", END)) #1라인 0번쩌 위치 부터 끝까지 txt 값을 가지고 오는 선언
print(e.get()) # entry 는 1줄 밖에 없어서 그냥 ()만으로 전체 불러옴
# 내용 삭제
txt.delete("1.0", END)
e.delete(0,END) # 0부터 끝까지
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
root. mainloop()
주의사항
- txt = Text(root, width=30, height=5)
: Text - 줄바꿈(Enter)를 포함한 값 입력
- e = Entry(root, width=30)
: Eentry 는 Enter(줄바꿈) 안됨, 1줄단위 ID, PW 등과 같은 곳에 사용
- txt.insert(END, "글자를 입력하세요")
: 사전 입력. (글자위치, 입력될 내용)
- e.insert(0, "한 줄만 입력해요")
: 사전 입력( 위치 0 : 처음 위치)
-def btncmd():
# 내용 출력
print(txt.get("1.0", END)) #1라인 0번쩌 위치 부터 끝까지 txt 값을 가지고 오는 선언
print(e.get()) # entry 는 1줄 밖에 없어서 그냥 ()만으로 전체 불러옴
: get() 을 이용하여 해당 값을 가져 올 수 있음.
0 1 2 3 4
1 가 나 다 라 마
2 아 자 차 카 타
3 A B C D E
와 같이 "1.0" 의 경우, 1번째 Line( 또는 row / 세로) 부터, 0 번째 Column(가로)를 표기
# 내용 삭제
txt.delete("1.0", END)
e.delete(0,END) # 0부터 끝까지
: delete() 을 이용하여 해당 값을 삭제 할 수 있음.
: 위치 표기하여 해당 값 지울 수 있음.
4번째 텍스트와 엔트리 완료. 줄바뀜(Enter) 차이와 위치별 delete 등을 사용하면 완료
7. 리스트박스
from tkinter import *
root = Tk()
root.title("WT GUI")
root.geometry("640x480") # 가로 X 세로 / 대문자X 하면 실행안됨
listbox =Listbox(root, selectmode="extended", height=0)
#selectmode - xtended : 중복선택, single : 단일선택
#height - 0 : list 전체, 3 : 3개만
listbox.insert(0,"사과")
listbox.insert(1,"딸기")
listbox.insert(2,"바나나")
listbox.insert(END,"수박")
listbox.insert(END,"포도")
listbox.pack()
def btncmd():
#삭제
#listbox.delete(END)
#listbox.delete(0)
# 갯수 확인
#print("리스트에는 ", listbox.size(), "개가 있어요")
# 항목 확인(시작 인덱스, 끝 인덱스)
#print("1번째 부터 3번째까지의 항목 : ", listbox.get(0,2))
# 선택된 항목 확인(위치)
print("선택된 항목 : ", listbox.curselection()) # 실행시 인덱스 번호로 나타남
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
root. mainloop()
주의사항
- listbox =Listbox(root, selectmode="extended", height=0)
: selectmode - extended : 중복선택, single : 단일선택
: height = 0 이면 전체 리스트 갯수만큼 표기, 3이면 3개만 표기
- listbox.insert(0,"사과")
: listbox.insert(위치/index 번호, "value") 로 해당 리스트에 값 추가
- listbox.insert(END,"포도")
: index 값 없이 제일 뒤에 추가도 가능
- listbox.delete(END)
- listbox.delete(0)
: 위치별 항목 삭제
- listbox.size()
: 리스트에 등록되어 있는 항목 갯수 확인
- listbox.get(0,2)
: 항목 확인(시작 인덱스, 끝 인덱스)
: 1번째 부터 3번째까지의 항목
- listbox.curselection()
: 선택된 항목 확인(위치)
: 선택된 항목의 인덱스 번호로 나타남
8. 체크박스
from tkinter import *
root = Tk()
root.title("WT GUI")
root.geometry("640x480") # 가로 X 세로 / 대문자X 하면 실행안됨
chkvar = IntVar() # chkvar에 int 형으로 값을 저장한다.
chkbox = Checkbutton(root, text ="오늘 하루 보지 않기", variable=chkvar)
#variable 값을 변수로 정의해 주어야함.
# chkbox.select() # 자동 선택 처리
# chkbox.deselect() 자동 선택 해제 처리
chkbox.pack()
chkvar2 = IntVar() # chkvar에 int 형으로 값을 저장한다.
chkbox2 = Checkbutton(root, text ="일주일 동안 보지 않기", variable=chkvar2)
chkbox2.pack()
def btncmd():
print(chkvar.get()) # 0:체크해제, 1: 체크
print(chkvar2.get()) # 0:체크해제, 1: 체크
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
root. mainloop()
주의사항
- chkvar = IntVar() # chkvar에 int 형으로 값을 저장한다.
- chkbox = Checkbutton(root, text ="오늘 하루 보지 않기", variable=chkvar)
: checkbox의 경우 variable 을 통해 해당 값을 저장한다. 따라서 해당 값에 대한 변수 선언이 필요하며 필요에 따라 ins, double, string 등을 사용할 수 있도로 선언한다.
- chkvar2 = IntVar() # chkvar에 int 형으로 값을 저장한다.
: checkbox의 종류에 따라 각각의 값을 저장할 수 있는 변수 선언을 진행한다.
- chkbox.select() # 자동 선택 처리
- chkbox.deselect() 자동 선택 해제 처리
- def btncmd():
print(chkvar.get()) # 0:체크해제, 1: 체크
print(chkvar2.get()) # 0:체크해제, 1: 체크
: 해당 checkbox 의 check 여부에 따라 IntVar 값이 표기된다. 0:체크해제, 1: 체크
6번째 checkbox 도 끝.
[Python 파이썬 독학 활용2편 2일차] GUI(tkinter) - 2-2 (0) | 2021.08.01 |
---|---|
[Python 파이썬 독학 활용2편 2일차] GUI(tkinter) - 2-1 (0) | 2021.08.01 |
[Python 파이썬 독학 활용2편 1일차] GUI(tkinter) - 1-3 (0) | 2021.07.30 |
[Python 파이썬 독학 활용2편 1일차] GUI(tkinter) - 1-1 (0) | 2021.07.29 |
[Python 파이썬 독학 활용2편 0일차] GUI(tkinter) - 0 (시작전) (0) | 2021.07.29 |
댓글 영역