2022. 7. 19. 19:02ㆍPython/Tkinter GUI
Python gui_basic 강의 영상의 분량이 많아서 글을 올릴 때 Chapter의 수가 매번 다를 거 같아요!
Chapter 3: label.py
요번 Chapter는 label 만들기.
매번 Chapter에서 Chapter 1: Create_frame.py의 틀을 사용하여 제작.
label1 = label(root, text="안녕하세요") 라는 명령어로 "안녕하세요"라는 label 만듦.
label1.pack()
photo = PhotoImage(file="gui_basic/1.png") photo라는 변수에 Photoimage 명령어를 사용하여 특정 라이블러리 속 png로 경로 설정.
label2 = label(root, image=photo) 새로운 label2를 만들어 image를 전에 만든 photo 변수로 설정.
label2.pack()
def change(): 이 change 함수는 밑에 버튼을 눌렀을 때 작동되는 함수, 버튼을 누를 경우 글자와 이미지가 바뀜.
label1.config(text="또 만나요.")
global photo2
photo2 = PhotoImage(file="gui_basic/2.png")
label2.config(image=photo2)
btn = Button(root, text="클릭", command=change) "클릭"이라는 버튼을 만들어준 후 cmd change를 작성해줌
btn.pack()
root.mainloop()
Chapter 3: label.py 는 label을 만들고 응용하여 작동까지 하는 방법을 배움.
Chapter 4: text_entry.py
이번 Chapter는 텍스트&엔트리 즉 GUI 사용자가 직접 텍스트를 작성할 수 있는 틀을 만들어 줄 것이다.
txt = Text(root, width=30, height=5) txt라는 변수에 Text 틀을 만들고 가로와 높이 길이 값을 지정해주었다.
txt.pack()
txt.insert(END, "글자를 입력하세요:") 라는 명령어로 "글자를 입력하세요:"라는 말 끝에 입력을 받을 수 있게 하였다.
e = Entry(root, width=30) 높이 값을 지정하지 않아 한 줄의 높이만 자동으로 지정 됨.
e.pack()
e.insert(0, "한 줄만 입력해요.:")
def btncmd(): 버튼 cmd로 텍스트를 작성하고 밑에 버튼을 누르면 작동하는 cmd
#내용 출력 cmd
print(txt.get("1.0", END)) #1은 첫 번째 라인, 0은 0 번째 column 위치
print(e.get())
#내용 삭제 cmd
txt.delete("1.0, END)
e.delete(0, END)
btn = Button(root, text="클릭", command=btncmd) "클릭" 버튼을 만들어줌.
btn.pack()
root.mainloop()
Chapter 4: text_entry.py 에서는 텍스트&엔트리를 만드는 법에 대하여 배웠다.
텍스트를 입력하고 클릭을 누르니 "글자를 입력하세요.:"라는 글자도 같이 출력이 되었고 내용 삭제가 됐을 때 이 글자도 함께 삭제가 되어버린다. 이 부분에 대해서는 자세히 공부해봐야겠다.
Chapter 5: listbox.py
이번 Chapter는 여러 개의 리스트가 있고 그 리스트 중 한 개를 선택할 수 있는 즉 listbox를 만들어 볼 것이다.
listbox = Listbox(root, selectmode="extended", height=0)
#selectmode 같은 경우는 extended는 복수 선택, single은 단수 선택이 가능함.
#여기서 height 같은 경우 0은 모두, 3은 최대 3개 추가로 선택 가능함. (ex: 다음 항목중 제일 좋아하는 것 2개를 고르세요.)
이렇게 Python gui_basic 독학: 3~5 Chapter 를 마무리 함.
'Python > Tkinter GUI' 카테고리의 다른 글
Python gui_basic 독학: 6~10 Chapter (2) | 2022.07.19 |
---|---|
Python gui_basic 독학: 1~2 Chapter (0) | 2022.07.17 |