Pyloid 공식문서
GithubLanguage
  • 💎Pyloid란 무엇인가?
  • 시작하기
    • 사전 요구사항
    • 프로젝트 생성하기
  • API
    • Python (백엔드)
      • Pyloid
      • BrowserWindow
      • PyloidAPI
      • Monitor
      • TrayEvent
      • 유틸리티 함수
    • Javascript (프론트엔드)
      • WindowAPI
      • EventAPI
  • 가이드
    • 커스텀 보일러플레이트 만들기
    • 웹뷰 로드하기
    • JS에서 Python 호출하기
    • Python에서 JS 호출하기
    • 키보드 단축키
    • 알림
    • 트레이
    • 타이머
    • 파일 감시
    • 클립보드
    • 창 위치
    • 개발자 도구
    • 창 사용자 정의
    • 자동 시작
    • 프로덕션 유틸리티
    • 데스크탑 모니터
    • 파일 다이어로그
    • 스플래시 스크린
    • 스레드
    • ⚡pyside를 사용하여 API 커스터마이징
    • 테마
    • 빌드 가이드
      • Pyloid-React-Vite
      • Pyloid-HTML-Boilerplate
Powered by GitBook
On this page
  • 목차
  • 기본 사용법
  • 주기적 타이머
  • 단발성 타이머
  • 타이머 관리
  • 타이머 중지하기
  • 타이머 활성 상태 확인
  • 남은 시간 확인
  • 타이머 간격 변경
  • 정밀 타이머
  • 고급 사용법
  • 람다 함수 사용
  • 결론
  1. 가이드

타이머

Previous트레이Next파일 감시

Last updated 7 months ago

PyloidTimer는 PySide6의 QTimer를 기반으로 한 편리한 타이머 관리 클래스입니다. 이를 통해 다양한 유형의 타이머를 쉽게 생성하고 관리할 수 있습니다.

목차

기본 사용법

먼저 PyloidTimer 인스턴스를 생성합니다:

from pyloid.timer import PyloidTimer

timer_manager = PyloidTimer()

주기적 타이머

주기적으로 실행되는 타이머를 시작하려면 start_periodic_timer 메서드를 사용합니다:

def print_hello():
    print("안녕하세요!")

# 2초마다 "안녕하세요!"를 출력하는 타이머 시작
timer_id = timer_manager.start_periodic_timer(2000, print_hello)
from pyloid.timer import PyloidTimer
from pyloid import  Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

def print_hello():
    print("안녕하세요!")

# 2초마다 "안녕하세요!"를 출력하는 타이머 시작
timer_id = timer_manager.start_periodic_timer(2000, print_hello)

app.run()

단발성 타이머

한 번만 실행되는 타이머를 시작하려면 start_single_shot_timer 메서드를 사용합니다:

def delayed_message():
    print("5초가 지났습니다!")

# 5초 후 메시지를 출력하는 단발성 타이머 시작
timer_id = timer_manager.start_single_shot_timer(5000, delayed_message)
from pyloid.timer import PyloidTimer
from pyloid import Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

def delayed_message():
    print("5초가 지났습니다!")

# 5초 후 메시지를 출력하는 단발성 타이머 시작
timer_id = timer_manager.start_single_shot_timer(5000, delayed_message)

app.run()

타이머 관리

타이머 중지하기

# ID를 사용하여 타이머 중지
timer_manager.stop_timer(timer_id)
from pyloid.timer import PyloidTimer
from pyloid import Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

# 타이머 시작
timer_id = timer_manager.start_periodic_timer(2000, lambda: print("안녕하세요!"))

# ID를 사용하여 타이머 중지
timer_manager.stop_timer(timer_id)

app.run()

타이머 활성 상태 확인

if timer_manager.is_timer_active(timer_id):
    print("타이머가 아직 실행 중입니다.")
else:
    print("타이머가 중지되었습니다.")
from pyloid.timer import PyloidTimer
from pyloid import Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

# 타이머 시작
timer_id = timer_manager.start_periodic_timer(2000, lambda: print("안녕하세요!"))

# 타이머 활성 상태 확인
if timer_manager.is_timer_active(timer_id):
    print("타이머가 아직 실행 중입니다.")
else:
    print("타이머가 중지되었습니다.")

app.run()

남은 시간 확인

remaining_time = timer_manager.get_remaining_time(timer_id)
if remaining_time is not None:
    print(f"타이머가 실행되기까지 {remaining_time}ms 남았습니다.")
from pyloid.timer import PyloidTimer
from pyloid import Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

# 타이머 시작
timer_id = timer_manager.start_periodic_timer(2000, lambda: print("안녕하세요!"))

# 남은 시간 확인
remaining_time = timer_manager.get_remaining_time(timer_id)
if remaining_time is not None:
    print(f"타이머가 실행되기까지 {remaining_time}ms 남았습니다.")

app.run()

타이머 간격 변경

# 타이머 간격을 3초로 변경
timer_manager.set_interval(timer_id, 3000)
from pyloid.timer import PyloidTimer
from pyloid import Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

# 타이머 시작
timer_id = timer_manager.start_periodic_timer(1000, lambda: print("안녕하세요!"))

# 타이머 간격을 3초로 변경
timer_manager.set_interval(timer_id, 3000)

app.run()

정밀 타이머

더 정밀한 타이밍이 필요한 경우 정밀 타이머를 사용할 수 있습니다:

def precise_task():
    print("정밀 작업 실행 중")

# 100ms 간격으로 정밀 주기적 타이머 시작
precise_timer_id = timer_manager.start_precise_periodic_timer(100, precise_task)
from pyloid.timer import PyloidTimer
from pyloid import Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

def precise_task():
    print("정밀 작업 실행 중")

# 100ms 간격으로 정밀 주기적 타이머 시작
precise_timer_id = timer_manager.start_precise_periodic_timer(100, precise_task)

app.run()

고급 사용법

람다 함수 사용

counter = 0

def count():
    global counter
    counter += 1
    print(f"카운터: {counter}")

timer_id = timer_manager.start_periodic_timer(1000, count)
from pyloid.timer import PyloidTimer
from pyloid import Pyloid

# PyloidTimer 인스턴스 생성
app = Pyloid(app_name="Pyloid-App")
timer_manager = PyloidTimer()

counter = 0

def count():
    global counter
    counter += 1
    print(f"카운터: {counter}")

timer_id = timer_manager.start_periodic_timer(1000, count)

app.run()

결론

PyloidTimer는 다양한 타이밍 요구사항을 쉽게 관리할 수 있는 강력한 도구입니다. 간단한 주기적 작업부터 정밀한 타이밍이 필요한 작업까지 다양한 상황에서 유용하게 사용될 수 있습니다.

기본 사용법
주기적 타이머
단발성 타이머
타이머 관리
정밀 타이머
고급 사용법