반응형
PC용 타이머 프로그램 만들기 (Python GUI)
이번 포스팅에서는 Python을 사용하여 PC용 타이머 프로그램을 만드는 방법을 소개합니다. 초보자도 쉽게 따라할 수 있도록 단계별로 코드와 실행 방법을 설명할 예정입니다.
이 타이머 프로그램은 다음과 같은 기능을 갖추고 있습니다:
- 시간, 분, 초를 설정할 수 있는 입력 기능 (콤보박스 사용)
- 시작, 중지, 재시작 버튼으로 타이머 조작
- 남은 시간 표시 (00:00:00 형태)
- 배경 이미지 설정 가능 (선택 사항)
📌 1. Python 설치하기
Python이 설치되어 있지 않다면 공식 사이트에서 다운로드하여 설치합니다.
설치 후 명령 프롬프트(cmd) 또는 터미널에서 아래 명령어를 입력해 Python이 정상적으로 설치되었는지 확인하세요.
📌 2. 필요한 라이브러리 설치
이 프로그램에서는 Pillow 라이브러리를 사용하여 배경 이미지를 표시합니다. 아래 명령어를 입력하여 설치하세요.
타이머 프로그램에 배경화면을 넣고 싶다면 설치된 파이썬 프로그램을 실행 후 아래의 명령어를 입력해주세요
pip install pillow
📌 3. 타이머 프로그램 코드 (Python)
메모장을 열고 아래 코드를 복사하여 .py 파일로 저장하세요. 예를 들어 **timer.py**로 저장하면 됩니다.
python
복사편집
import time import tkinter as tk from tkinter import messagebox, ttk from PIL import Image, ImageTk # 글로벌 변수 timer_running = False time_left = 0 def start_timer(): """타이머 시작""" global timer_running, time_left if timer_running: return # 이미 실행 중이면 중복 실행 방지 try: hours = int(hour_combobox.get()) minutes = int(minute_combobox.get()) seconds = int(second_combobox.get()) time_left = hours * 3600 + minutes * 60 + seconds # 초 단위 변환 timer_running = True update_timer() except ValueError: messagebox.showerror("오류", "올바른 값을 선택하세요.") def update_timer(): """타이머 업데이트 (1초마다 실행)""" global time_left, timer_running if time_left >= 0 and timer_running: h = time_left // 3600 m = (time_left % 3600) // 60 s = time_left % 60 label.config(text=f"남은 시간: {h:02d}:{m:02d}:{s:02d}") root.update() time_left -= 1 root.after(1000, update_timer) elif time_left < 0: timer_running = False label.config(text="시간 종료!") messagebox.showinfo("알림", "타이머 종료!") def stop_timer(): """타이머 중지""" global timer_running timer_running = False def restart_timer(): """타이머 재시작""" global timer_running if not timer_running and time_left > 0: timer_running = True update_timer() # GUI 설정 root = tk.Tk() root.title("타이머 프로그램") root.geometry("400x300") # 창 크기 조정 # 배경 이미지 추가 try: bg_image = Image.open("background.jpg") bg_image = bg_image.resize((400, 300), Image.LANCZOS) bg_photo = ImageTk.PhotoImage(bg_image) canvas = tk.Canvas(root, width=400, height=300) canvas.pack(fill="both", expand=True) canvas.create_image(0, 0, anchor="nw", image=bg_photo) except FileNotFoundError: print("배경 이미지(background.jpg)가 없습니다.") # UI 요소 추가 label = tk.Label(root, text="시간을 선택하세요", bg="white", font=("Arial", 12)) label.pack(pady=10) # Combobox (시, 분, 초 선택) frame = tk.Frame(root) frame.pack(pady=5) hour_combobox = ttk.Combobox(frame, values=[str(i) for i in range(24)], width=5) hour_combobox.set("0") # 기본값 설정 hour_combobox.pack(side="left") tk.Label(frame, text="시간").pack(side="left") minute_combobox = ttk.Combobox(frame, values=[str(i) for i in range(60)], width=5) minute_combobox.set("0") minute_combobox.pack(side="left") tk.Label(frame, text="분").pack(side="left") second_combobox = ttk.Combobox(frame, values=[str(i) for i in range(60)], width=5) second_combobox.set("0") second_combobox.pack(side="left") tk.Label(frame, text="초").pack(side="left") # 버튼 추가 (한 줄 배치) button_frame = tk.Frame(root) button_frame.pack(pady=10) start_button = tk.Button(button_frame, text="시작", command=start_timer) start_button.pack(side="left", padx=5) stop_button = tk.Button(button_frame, text="중지", command=stop_timer) stop_button.pack(side="left", padx=5) restart_button = tk.Button(button_frame, text="재시작", command=restart_timer) restart_button.pack(side="left", padx=5) root.mainloop()
📌 4. 실행 방법
1️⃣ 코드 저장
- 위 코드를 메모장에서 저장 - 다른이름으로 저장 - timer.py로 저장합니다.
2️⃣ 배경 이미지 추가 (선택 사항)
- 원하는 배경 이미지를 **background.jpg**로 저장하고, timer.py와 같은 폴더에 둡니다.
3️⃣ 프로그램 실행하기
- Windows에서는 명령 프롬프트(cmd), Mac과 Linux에서는 터미널을 엽니다.
- timer.py가 있는 폴더로 이동합니다.
폴더로 이동하였으면 주소표시줄을 누르고 cmd를 누르고 엔터를 눌러줍니다.
cmd 창이 열리면 python timer.py를 입력하고 엔터를 눌러주면 됩니다.
📌 5. 주요 기능
✅ 시, 분, 초를 선택하여 타이머 설정
✅ 배경 이미지 추가 가능 (background.jpg 파일 필요)
✅ 시작 버튼을 누르면 타이머가 작동
✅ 중지 버튼을 누르면 타이머가 멈춤
✅ 재시작 버튼을 누르면 멈춘 시간부터 다시 시작
📌 6. EXE 파일로 변환 (선택 사항)
이 프로그램을 .exe 파일로 변환하여 매번 Python을 실행하지 않고 바로 실행 가능하게 만들 수 있습니다.
cmd창이 열리면 python timer.py를 입력하는 대신 ,
pip install pyinstaller pyinstaller --onefile --windowed timer.py를 입력하여 줍니다.
변환이 완료되면 dist 폴더 안에 timer.exe가 생성됩니다. 이를 실행하면 타이머 프로그램이 실행됩니다.
📌 7. 마무리
이제 Python GUI 타이머 프로그램을 직접 만들어보고 실행할 수 있습니다!
필요한 기능을 추가해서 알람, 사운드 기능, 다중 타이머 등으로 확장해 보세요.
궁금한 점이나 추가 기능 요청이 있다면 댓글로 남겨주세요! 😊
반응형
'일상,생활정보' 카테고리의 다른 글
이거면 됩니다....인스타 팔로워 쉽게 늘리는법 !!!! (2) | 2025.02.18 |
---|---|
인천 데이트 코스 추천! 분위기 좋은 곳 총정리 (4) | 2025.02.18 |
여행시 항공기가 사고 날 경우 살 수 있는 방법은 없을까?? ✈️ (5) | 2025.02.14 |
최저시급으로 일하면 이정도 벌 수 있다고!!!??? 2025 최저시급 & 주휴수당 정보 (1) | 2025.02.12 |
서울핫플[서울 식물원] 도심 속 힐링/ 서울 가볼만한 곳 / 서울 여행 (2) | 2025.02.11 |