본문 바로가기
프로그래밍 독학/python

[python] 파이썬 GUI tkinter 라벨, Entry, 버튼 상호평가 프로그램 만들기(5)

by 파레토맨 2022. 4. 4.

Label

tkinter에는 Label이라고 하는 위젯이 있습니다.

만든 그래픽 환경에 텍스트나 이미지를 넣어 표현할 수 있게 하는 기능이라고 합니다.

저의 경우에는 이제 프로그램의 제목과 이름, 사람 수 단위인 명 등을 표현하기
위해 Label 위젯을 사용해봤습니다.

선언과 동시에 세부사항을 설정해주었습니다.

TitleLabel = Label(text="월말상호평가",
                   font=('바탕체', 20, 'bold')
)                   
NameLabel = Label(text="이름",
                  font=('바탕체', 15, 'bold')
)
peopleLabel = Label(text="인원",
                  font=('바탕체', 15, 'bold')
)
peopleCntLabel = Label(text="명",
                  font=('바탕체', 15, 'bold')
)


Entry

tkinter에서 입력값을 받기 위해 Entry 위젯을 사용해주었습니다.

NameEntry = Entry(
    width=15,
    font=(15)
)
PeopleEntry = Entry(
    width=10,
    font=(15)
)

▶Button

함수를 실행할 수 있게 하는 클릭 버튼이 필요했습니다.
앞에서와 비슷한 방식으로 생성하였습니다.

OutputBtn = Button(
    text="출력하기",
    font=('바탕체',15, 'bold'),
    width=10,
    height=2,
)
ResetBtn = Button(
    text="리셋",
    font=('바탕체',15, 'bold'),
    width=10,
    height=2,
)

위의 라벨과 Entry는 폰트 크기가 있어 자동으로 높이 설정이 되는 것 같지만
버튼의 경우 따로 height 값을 주었습니다.

▶배치

이제 만든 라벨과 Entry, 버튼을 배치해야 합니다.

배치하는 방법에는 pack(), grid(), place()가 있습니다.

pack()의 경우에는 위아래, 좌우 일정 부분 정해진 공간에 배치를 하는 방식이고,

grid()의 경우에는 행과 열을 기준으로 배치하는 방식이라 어렵다고 생각되어,

x, y좌표를 기준으로 배치하는 place()를 사용해보았습니다.

TitleLabel.place(x=15,
                     y=20
)

이런 방식으로 위에서 만들었던 라벨과 버튼 Entry 등을 배치시켜보았습니다.


다음 포스팅은 결과창 출력과 화면에 메시지 박스를 띄우는 방법이 될 것 같습니다.

댓글