본문 바로가기
『 Python 』/Python GUI

[6] Python GUI 프레임 만들기

by Play IT 2019. 9. 4.
반응형

안녕하세요 ㅎㅎ

요번에 해볼것은 python GUI 프레임 만들기입니다.

 

저번에 했었던 코드아래에 만들면 됩니다.

 

저번에는 win이라는 전체적인 창 부분의 프레임을 사용했지만

새로운 프레임을 만들어서 사용한 것을 확인 하실수 있을 것입니다.

보시면 ttk.Label(win, text="label")이라 한것을 새로운 프레임을 위에서 만들어서 

그 프레임의 값을 변수에 넣어서 ttk.Label(buttons_frame, text="Label1")처럼 win을 대신해서 buttons+frame을 

쓴것을 보실수 있을 것입니다.

위와 같이 나타났습니다. 

프레임 안에 들어간 라벨은 그 프레임의 위치를 기준으로 x y값의 순서대로 배열되는 것을 보실수 있습니다.

 

@ 두줄은 필요없는 내용입니다.

제가 코드를 글로 적지 않고 사진으로 찍는 이유는 단 한가지입니다.

여러분이 직접 적어보시고 수정해보며 이해를 하셨으면 하기에 사진으로 둡니다.! 열공!

 

프레임 주변에 여유 공간이 있으면 좋겠죠?

그러기에 패딩을 사용해 위젯 주변에 공간을 추가해 보겠습니다.

 

위에 grid 쪽을 보시면 padx pady를 적은 것을 보실수 있을것입니다.

위와 같이 여유 공간 간격이 생긴것을 보실 수 있을 것입니다.

이것이 패딩 입니다.

 

패딩을 응용해 보겠습니다.

반복문을 사용해서 하시면 됩니다. 

그리고 buttons_frame.winfo_children() 이라는 것을 사용해 줍시다.

 

이렇게 됩니다.

 

.winfo_children()함수는 buttons_frame변수에 속한 모든 자식 목록을 반환합니다.

이 방식을 반복해 각 라벨에 패딩을 할당 할수 있습니다.

 

프레임의 크기는 프레임 안에 있는 라벨의 크기에 따라 결정이 됩니다.

즉 111111111111111111111111111을 하면

그 크기만큼 가로의 크기가 증가하여 생기게 됩니다.

프레임의 제목은 정하지않으면 빈칸으로 나타납니다.

 

반응형

댓글