상세 컨텐츠

본문 제목

[Python 파이썬 독학 활용2편 1일차] GUI(tkinter) - 1-2

파이썬 스터디/파이썬-Python 활용편2

by 후즈테크 2021. 7. 29. 21:56

본문

반응형

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 도 끝.

 

 

반응형

관련글 더보기

댓글 영역