본문 바로가기

Python(파이썬)/GUI(graphical user interface)

파이썬 GUI - 버튼 만들기

티킨더(tkinter)를 이용해서 GUI 프로그래밍을 할 수 있습니다

파이썬은 라이브러리를 사용하기 위해서는 위에 사용할 라이브러리를 선언해야 합니다

위 사진과 같이 tkinter를 import 합니다

뒤에 *를 붙이는 이유는 tkinter의 모든 것을 사용한다는 뜻입니다.

이제 사용할 준비가 되었으니 기본틀 만드는 작업을 하겠습니다

root = Tk() 선언을 합니다

root라는 변수에 Tk함수를 저장합니다

여기서 주의해야할 점은 T는 꼭 대문자여야 하고 k는 소문자여야 합니다

root.mainloop()를 사용합니다

root(Tk)안에 있는 함수중 mainloop를 사용합니다

실행한 화면입니다

 

버튼 만들기

본격적으로 버튼을 만들겠습니다

tkinter의 함수중에 버튼을 만들어주는 함수가 있습니다

Button 함수입니다

btn1는 변수 이름으로 함수를 만들고 바로 사용할 수 있지만 변수에 담아서 사용해 보겠습니다

사용방법은 Button으로 함수를 만들고 () 안에는 root=Tk() 안에 버튼을 넣습니다

그리고 text로 버튼의 이름을 "버튼1"로 했습니다

Button(넣을 위치, 버튼 이름)으로 생각하면 됩니다

실행해보면 아무런 변화가 없습니다

이유는 버튼을 만들기만 했고 버튼을 보여준다고 알려줘야 합니다

btn1에 pack() 함수를 호출해서 버튼을 보이게 합니다

btn1.pack()을 입력하면 버튼이 화면에 보입니다

버튼 크기 조절

버튼1은 안에 text 크기만큼 크기가 정해져 있습니다

text가 늘어나면 버튼의 크기도 늘어납니다

같은 방식으로 2번째 버튼을 만들고 실행한 화면입니다

버튼의 크기를 주는 방법은 2개가 있습니다

padx, pady와 width, height가 있습니다

두 방식의 차이는 지정된 크기 차이입니다

pad의 경우 text의 크기에 따라서 버튼 크기가 변하는 것은 동일합니다

하지만 width의 경우 정해준 값만큼만 버튼이 크기를 가집니다

10을 기준으로 비교하면 아래와 같습니다

 

1. padx, pady

padx, pady를 사용하면 버튼 크기는 text의 크기에 맞춰서 늘어나고 10만큼의 여백이 생겼습니다

2.width, height

 

width, height를 사용하면 버튼 크기는 text의 크기와 관계없이 정해진 크기로 나옵니다

 

추가 : 버튼 색상 넣기

버튼의 색상을 변경하는 방법입니다

text의 색상과 버튼의 background 색상을 변경할 수 있습니다

text의 색상은 fg

background의

text색 빨간색(red), 배경(bg) 노란색(tellow)으로 변경했습니다