728x90
반응형
버튼을 생성하는 기본 함수는 Button()이다.
btn = Button(root) # root라는 창에 버튼을 생성
btn.pack() # 만든 버튼을 창에 배치
이렇게만 한다면 그냥 말그대로 버튼이 생성된다.
이제 이 버튼의 기본적인 설정법을 알아보자
btn.config(width=20, height=20)
# 버튼의 크기 설정 ( 버튼 크기 고정 )
btn.config(padx=20, pady=20)
# 버튼의 크기 절정 ( 글자 수에 따라 크기 달라짐 값은 글자와 버튼 테두리 사이의 거리 값)
btn.config(text="버튼")
# 버튼의 내용 설정
btn.config(fg="red", bg="yellow")
# 버튼의 글자색(fg)과 배경색(bg) 설정
padx, pady와 width, height은 차이점이 있다.
위에 주석에 써있는 것처럼
width, height는 말 그대로 버튼의 크기가 고정이 된다.
하지만 padx, pady는 버튼의 내용이 길어지면 그에 맞춰서 버튼의 크기가 달라지고,
저 값은 버튼의 내용과 버튼의 테두리 사이의 거리 값을 의미한다.
만약 버튼을 자신이 직접 디자인한 이미지로 만들 고 싶다면 아래의 코드를 사용하면 된다..
photo = PhothImage(file="파일경로") # 이미지 설정
imgbtn = Button(root, image=photo) # 버튼 생성
imgbtn.pack() # 버튼 배치
위에 코드를 사용하면 간단히 이미지를 버튼으로 만들 수 있다.
버튼을 만들었으니 이 버튼에 기능을 넣어주자!
버튼에 기능을 넣는다는 말은
버튼이 눌렸을 때 어떠한 현상이 발생한다는 것이다.
이 현상을 함수가 실행됐다고 생각하면서 아래 코드를 보면 쉬울 것이다.
def btnpress(): # 실행되면 "버튼이 눌렸음"이라는 값을 출력하는 함수
print("버튼이 눌렸음")
btn.config(command=btnpress) # 눌렸을 때 btnpree() 함수를 실행시키는 버튼
버튼이 눌렸을 때 btnpress()함수를 실행시키고 싶다면
위처럼 입력해주면 된다.
다른 함수를 실행시키고 싶어도 마찬가지로 함수의 이름만 바꾸어 주면 된다.
예시로 내용이 0인 버튼이 눌릴 때마다 1씩 커지는 기능을 구현하려면
from tkinter import * # tkinter 라이브러리에 모든 함수를 사용하겠다.
root = Tk() # root라는 창을 생성
root.geometry("600x400") # 창 크기설정
root.title("yeachan_yeachan") # 창 제목설정
root.option_add("*Font","맑은고딕 25") # 폰트설정
root.resizable(False, False) # x, y 창 크기 변경 불가
count = 0 # 변수 생성
def btnpress(): # 함수 btnpress() 정의
global count
count += 1
btn.config(text = count)
btn = Button(root) # root라는 창에 버튼 생성
btn.config(text=count) # 버튼 내용
btn.config(width=10) # 버튼 크기
btn.config(command=btnpress) # 버튼 기능 (btnpress() 함수 호출)
btn.pack() # 버튼 배치
root.mainloop() # 창 실행
위와 같이 간단하게 구현 할 수 있다.
아래는 실행화면 이다.
기본적인 알고리즘은 설명하지 않겠다.
이렇게 간단히 버튼을 설정하고 만드는 법을 알아봤다.
다음은 입력창을 만든는 법을 공부해보자.
728x90
반응형
'Python > [파이썬] GUI 프로그래밍' 카테고리의 다른 글
[파이썬] GUI 프로그래밍 #5 레이블 만들기 (0) | 2021.08.19 |
---|---|
[파이썬] GUI 프로그래밍 #4 입력창 만들기 (0) | 2021.08.19 |
[파이썬] GUI 프로그래밍 #2 창 만들기 (0) | 2021.08.17 |
[파이썬] GUI 프로그래밍 #1 시작 (0) | 2021.08.17 |