본문 바로가기

개발자/라즈베리파이4

시계가 없어서 10분 만에 만든 디지털 시계 1. 라즈베리파이 사용.

반응형

 

 

시계가 없어서 10분 만에 만든 디지털시계. 라즈베리파이 파이선 사용. 

 

 

사무실에 시계가 없어서 10분 만에 디지털 시계를 만든다고 했는데 거의 3시간이 걸렸고 앞으로 얼마나 더 걸릴지 모르겠다. 화면 크기에 맞춰야 하고 인터넷도 잡아야 하고 이런~ ^^

 

tkinter 패키지로 간단한 파이썬 애플리케이션을 만드는 방법 

 

이 포스트에서는 파이썬을 사용하여 디지털 시계 창을 만들고 디자인하는 방법을 보여줄 것입니다. 이것은 Python과 함께 제공되는 기본 제공 패키지 인 tkinter를 시작하는 간단한 프로젝트입니다. tkinter는 기본적으로 그래픽 사용자 인터페이스 패키지입니다. 간단한 응용 프로그램을 만드는 데 사용할 수있는 뛰어난 기능이 있습니다. 그리고 오늘 우리는 이것을 사용하여 디지털 시계를 만들 것입니다. 나만의 디지털 시계를 만드는 가장 큰 부분은 원하는대로 맞춤 설정할 수 있다는 것입니다. 텍스트 글꼴에서 배경색까지 모든 기능을 사용자 지정할 수 있습니다. 준비가 되었으면 시작하십시오! 

 

라이브러리 가져 오기

 

이 프로젝트에서는 두 개의 라이브러리를 사용합니다. 그리고 둘 다 Python과 함께 제공되므로 설치할 필요가 없습니다. 이러한 종류의 라이브러리를 Python 내장 패키지라고합니다. 우리가 사용할 메인 패키지는 Tkinter입니다. 공식 문서 페이지 인 여기 에서 Tkinter에 대해 자세히 알아볼 수 있습니다 . 따라서이 단계에서해야 할 일은 프로그램으로 가져 오기만하면됩니다. 

 

from tkinter import Label, Tk 
import time

 

이 단계에서는 먼저 Tkinter 패키지를 사용하여 창 패널을 정의합니다. 그런 다음 디지털 시계에 사용할 텍스트 디자인을 정의합니다.

 

창 정의

 

앞서 언급했듯이 Tkinter 패키지를 사용할 것입니다. Tkinter는 Tk로 정의 할 수 있습니다. 정의한 후에 사용자 정의합니다. 

 

app_window = Tk() 
app_window.title("My Digital Time") 
app_window.geometry("350x150") 
app_window.resizable(0,0)

 

Tkinter 함수 정의. 애플리케이션 창에 제목을 부여합니다. 예를 들어 비디오의 크기를 정의하면 너비가 350 픽셀에서 높이가 150 픽셀입니다. 텍스트 값이 반응 형 디자인이 아니기 때문에 창의 크기를 조정할 수 없습니다. 그리고 창 크기가 변경 될 때 디자인이 이상하게 보이기를 원하지 않습니다. 

 

라벨 디자인

 

프로그램의 멋진 단계는 이것입니다. 자신의 취향을 디자인에 넣을 수 있기 때문입니다. 이 단계는 작업을 다른 사람과 다르게 만듭니다. 디자인을 좋아한다면 실력을 뽐낼 시간입니다. 사용자 정의 할 네 가지 요소가 있습니다. 

 

디지털 숫자의 글꼴입니다. 디지털 시계의 배경색입니다. 디지털 숫자의 색상은 배경과 동일한 색상이 아닌지 확인하십시오. 😉 텍스트의 테두리 너비입니다. 

 

text_font= ("Boulder", 68, 'bold')
background = "#f2e750"
foreground= "#363529"
border_width = 25

 

이제 요소를 결합하고 레이블을 정의하겠습니다. 라벨 기능은 우리의 시간을 보여주는 텍스트입니다. 

 

label = Label(app_window, font=text_font, bg=background, fg=foreground, bd=border_width)
label.grid(row=0, column=1)

 

디지털 시계 기능

 

우리가 애플리케이션 프로젝트를 진행하고 있다면 함수는 일을 처리하는 가장 좋은 방법입니다. 함수는 프로그램을 더 구조화하고 이해하기 쉽게 만들기 때문에 훌륭합니다. 자, 디지털 시계 기능을 정의 해 보겠습니다. 

 

def digital_clock(): 
   time_live = time.strftime("%H:%M:%S")
   label.config(text=time_live) 
   label.after(200, digital_clock)

 

첫 번째 줄에서는 시간 패키지를 사용하여 실시간으로 가져옵니다. 또한 원하는 형식을 정의하고 있습니다. 우리는 디지털 시계를 디자인하고 있기 때문에 "시, 분, 초"가 좋은 형식이 될 것입니다. 두 번째 줄에서는 레이블 방법에 실시간을 할당합니다. 이렇게하면 디지털 시간이 업데이트됩니다. 마지막으로 디지털 시계가 실시간 시간을 표시하도록 함수를 다시 호출합니다. 이렇게하면 매 200 밀리 초마다 시간이 업데이트됩니다. 프로그래밍에서는이를 재귀 루프라고합니다. 함수 내에서 동일한 함수를 호출합니다. 시작 인 것 같은데 멋지지 않나요? 

 

큰! 애플리케이션 프로젝트의 마지막 단계 인이 단계까지 완료했습니다. 아시다시피 함수는 호출하지 않으면 실행되지 않습니다. 애플리케이션을 트리거하기 위해 함수를 호출합니다. 애플리케이션을 실행 해 보겠습니다. 

 

digital_clock()
app_window.mainloop()

 

python3 digital_clock.py

 

 

 

참고자료 

파이선을 이용하여 디지털 시계 만들기

파이선 tkinter 강좌: 제1강 - GUI 생성(매우 멋진 강좌들)

알고 보니 이 책의 저자이시군요. C#과 파이썬을 활용한 OpenCV 4 프로그래밍 

Python | Create a digital clock using Tkinter 

tkinter 를 사용한 가장 완벽한 시계 How to Make A clock with Python 

 

 

Pixabay로부터 입수 된 Pexels 님의 사진

 

 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^