개발자/라즈베리파이4

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

지구빵집 2021. 2. 10. 10:43
반응형

 

 

시계가 없어서 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 님의 사진

 

 

 

 

반응형