* Tkinter 목차 보기
다음의 코드를 파이참 혹은 파이썬 명령어 창에 입력해봅시다.
class Window(tk.Tk):
def __init__(self):
super().__init__()
self.title("Window name")
label = tk.Label(self, text="HOOKSMITH")
label.pack(fill=tk.BOTH, expand=1, padx=200, pady=200)
if __name__ == "__main__":
window = Window()
window.mainloop()
* 띄어쓰기 주의하세요!
1. Tkinter 창 생성하기
예시 코드에서 미리 창을 생성해보았습니다. class Window(tk.Tk): 코드에서 TK로 불러온 윈도우 창이 방금 생성한 메인 창입니다. 메인 창에 쓰인 텍스트는 라벨이라고 불리는 라벨 위젯이죠. 일단 라벨 위젯은 잠시 뒤에 보기로 하고, 가장 먼저 이 부분에 주목합시다.
def __init__(self):
super().__init__()
self.title("Window name")
뭐 대충 셀프를 안에다가 정의한다; 아주 그냥 비어있는 채로, 셀프 제목은 Window name!!!
영어로 이런 뜻인데, 윈도우창 생성 명령어 정도로 기억합시다. 이게 내장 함수라서 정의한 사람 맘대로 이기 때문에 따로 이건 뭐고 저건 뭐고 분석할 필요가 없습니다. 윈도 창 불러오는 것은 self를 정의하는 거다! 수준으로 기억합시다!
self의 정의는 그렇다 치고 실제로 창을 띄워주는 역할을 하는 코드는 이것이죠.
if __name__ == "__main__":
window = Window()
window.mainloop()
메인 루프로 불리는 이 방법은 우리가 정의한 self에 해당하는 윈도 창을 지속적으로 보여줍니다. 정의를 했으면 불러와야 하기 때문에, 항상 창 보여주기 코드로 기억합시다.
2. 라벨 위젯(label widget)
예시로 구현한 라벨 위젯은 글씨를 보여주는 기능을 하죠. 다음의 코드를 자세히 봅시다.
label = tk.Label(self, text="HOOKSMITH")
label.pack(fill=tk.BOTH, expand=1, padx=200, pady=200)
기본 용어를 배우고 오셨다면, 우리는 fill과 expand에 대해서는 이미 알고 있습니다. 바로 기하 관리자들 중 하나인 위치를 지정하는 명령어죠.
첫 줄에서, 라벨이라는 변수가 self 안에 위치하고, 그 텍스트는 HOOKSMITH 임을 명시해줍니다.
그리고 드디어 팩 기하 관리자로 그 라벨의 속성을 지정해주는 두 번째 코드입니다.
fill = tk.BOTH로 전방향에 공간을 채워준다고 생각하시면 됩니다.
expand =1로 설정되었는데요, 이것은 윈도우 창의 재구현된 크기라고 생각하시면 됩니다.
마지막으로 padx와 pady는 x 헹궈 y열의 픽셀 수치를 얼마로 할 것인지를 나타냅니다.
코드에서 200,200으로 설정하였으므로 모니터에 뜨는 창은 가로 세로 200px 크기의 창이 생성되는 것이지요.
참고로 라벨에 해당하는 코드가 없어도 우리는 윈도우 창을 띄우는 것이 가능합니다.
'TOOL FOR ART > Python GUI' 카테고리의 다른 글
3. Tkinter _ 문자 입력받기 (0) | 2021.10.17 |
---|---|
2. Tkinter _ 버튼 만들기 (0) | 2021.08.16 |
0. Tkinter 기본 용어 (0) | 2021.08.15 |
파이썬 GUI 프로그래밍 _ Tkinter 배워보기 (0) | 2021.08.15 |