시계가 없어서 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
'개발자 > 라즈베리파이4' 카테고리의 다른 글
라즈베리파이 SPI 포트 사용 문제점, MAX31855 Interface with Raspberry Pi second SPI Port (0) | 2021.02.22 |
---|---|
라즈베리파이 센서 데이터 수집 보드 v2.0 (0) | 2021.02.17 |
라즈베리파이 센서 데이터 수집 보드 v1.0 (0) | 2021.02.17 |
시계가 없어서 10분 만에 만든 디지털 시계 2. 라즈베리파이 사용. (0) | 2021.02.16 |
라즈베리파이 Wifi 고정IP 세팅하기 (0) | 2021.02.09 |
라즈베리파이 크롬 브라우저 설치, 정확히 크로미움 (0) | 2021.02.09 |
_tkinter.TclError: no display name and no $DISPLAY environment variable 에러 해결 (0) | 2021.02.09 |
지는 노을이 보고 싶어 10분 만에 만든 CCTV. Raspberry pi 사용 (0) | 2021.02.08 |
더욱 좋은 정보를 제공하겠습니다.~ ^^