본문 바로가기
Python

[python_gui] 1. Alarm 만들기

by 콧등치기국수 2020. 10. 5.

파이썬을 더 공부하고자 small project를 만들어 보기로 했어요!

 

알람을 만들어 봐야 겠다고 생각해서 만들고 있는데 제가 정말 아는게 하나도 없더라구요ㅠㅠ

 

틀을 만드는 법만 알지 알람 속 알멩이에는 뭐가 들어가는지 모르니까 하나부터 열까지 검색을 하면서 하고 있어요

 

그래서 파이썬 실력이 느는지는 모르겠고 영어독해는 확실히 느는 것 같은 느낌이 드네요ㅎㅎ

 

이게 맞는 건지 모르겠지만 일단 끝까지 만들어 볼거에요!ㅋㅋㅋ

 

 

 

 

#1 현재 날짜와 시간을 넣어봅시다!

 

알람인 만큼 현재 날짜와 시간을 넣어주고 싶었어요!!(그냥 제 취향ㅎㅎ)

 

어제 맨 처음에 datetime으로 변수를 만들어서 root에 냅다 집어넣었더니 시간이 안 흘러가더라구요

 

시간이 흐르게 하는 방법을 고민하다가 오늘 우연히 발견했는데 처음 본 거라서 정리해봤어요

 

 

#2 위젯.configure()  /  root.after() 를 사용했어요.

from tkinter import *
import datetime
import time

def update_timelabel():
    # 현재 날짜, 시각
    current_date = time.strftime("%Y년 %m월 %d일")
    current_time = time.strftime("%H:%M:%S")
    # timelabel 값 바꿔주기
    timelabel1.configure(text=current_date)
    timelabel2.configure(text=current_time)
    # 1초마다 update_timelable() 업데이트
    root.after(1000, update_timelabel)

root = Tk()
root.title("Alarm Clock")

# timelabel 생성하기 & update_timelabel함수로 값 변경
timelabel1 = Label(root, text="", font=("Arial", 20))
timelabel1.pack()
timelabel2 = Label(root, text="", font=("Arial", 30))
timelabel2.pack()
update_timelabel()

root.mainloop()

 

  • timelabel1.configure(text=current_date)

: update_timelabel()함수가 실행될때

timelable1의 text ="" 

timelable1.configure()안의 text = current_date로 바꿔줍니다.

 

 

 

출처: doch12.tistory.com/31

 

파이썬으로 윈도우 창 띄우기! #4 configure()함수로 라벨과 버튼의 텍스트 바꾸기 (feat.tkinter)

안녕하세요! 도치입니다. 이번에는 configure()함수로 라벨과 버튼의 텍스트를 바꿔보도록 하겠습니다. 프로그램을 만들다 보면 사용자의 조작에 따라 라벨과 버튼의 텍스트를 바꿔야 할때가 있는

doch12.tistory.com

 

 

  • root.after(1000,update_timelabel)

: after(ms, func)

ms단위의 간격, func는 호출된 함수의 이름

 

1000 ms 후에 함수 자체를 호출하므로 update_timelabel()함수는 1000 ms 간격으로 실행되며 Tkinter 에 현재 시간을 표시하게 됩니다.

 

 

사진에서는 보이지 않지만 시간이 1초마다 바뀌고 있어요!

root.after()가 함수전체를 업데이트 해주기 때문에 시간 뿐만아니라 날짜도 바뀝니다.

호옥시나 날짜가 안 바뀔까봐 12시 맞춰서 보니 잘 바뀌네요ㅎㅎ

 

 

출처: www.delftstack.com/ko/howto/python-tkinter/how-to-use-a-timer-in-tkinter/