LogoPyloid
ApiPyloid

PyloidTimer

PyloidTimer is a convenient timer management class based on PySide6's QTimer. It allows you to easily create and manage various types of timers with thread-safe operations.


Initialization

PyloidTimer

Creates a new PyloidTimer instance for managing timers.

from pyloid.timer import PyloidTimer

timer_manager = PyloidTimer()

Returns

PyloidTimerA new PyloidTimer instance.

Timer Creation

start_periodic_timer

Starts a timer that runs periodically at specified intervals.

from pyloid import Pyloid
from pyloid.timer import PyloidTimer

app = Pyloid(app_name="MyApp", single_instance=True)

timer_manager = PyloidTimer()

########## Usage ##########

def print_hello():
    print("Hello!")

# Start a timer that prints "Hello!" every 2 seconds
timer_id = timer_manager.start_periodic_timer(2000, print_hello)

app.run()

Parameters

Prop

Type

Returns

intUnique timer ID that can be used to control the timer.

start_single_shot_timer

Starts a timer that runs only once after the specified delay.

from pyloid import Pyloid
from pyloid.timer import PyloidTimer

app = Pyloid(app_name="MyApp", single_instance=True)

timer_manager = PyloidTimer()

########## Usage ##########

def delayed_message():
    print("5 seconds have passed!")

# Start a single-shot timer that prints a message after 5 seconds
timer_id = timer_manager.start_single_shot_timer(5000, delayed_message)

app.run()

Parameters

Prop

Type

Returns

intUnique timer ID that can be used to control the timer.

start_precise_periodic_timer

Starts a high-precision periodic timer for timing-critical applications.

from pyloid import Pyloid
from pyloid.timer import PyloidTimer

app = Pyloid(app_name="MyApp", single_instance=True)

timer_manager = PyloidTimer()

########## Usage ##########

def precise_task():
    print("Executing precise task")

# Start a precise periodic timer with 100ms interval
precise_timer_id = timer_manager.start_precise_periodic_timer(100, precise_task)

app.run()

Parameters

Prop

Type

Returns

intUnique timer ID that can be used to control the timer.

Timer Control

stop_timer

Stops a running timer using its ID.

from pyloid import Pyloid
from pyloid.timer import PyloidTimer

app = Pyloid(app_name="MyApp", single_instance=True)

timer_manager = PyloidTimer()

########## Usage ##########

# Stop a timer using its ID
timer_manager.stop_timer(timer_id)

app.run()

Parameters

Prop

Type

Returns

boolTrue if timer was stopped successfully, False if timer ID was not found.

set_interval

Changes the interval of a running timer.

from pyloid import Pyloid
from pyloid.timer import PyloidTimer

app = Pyloid(app_name="MyApp", single_instance=True)

timer_manager = PyloidTimer()

########## Usage ##########

# Change the timer interval to 3 seconds
timer_manager.set_interval(timer_id, 3000)

app.run()

Parameters

Prop

Type

Returns

boolTrue if interval was changed successfully, False if timer ID was not found.

Timer Information

is_timer_active

Checks if a timer is currently running.

from pyloid import Pyloid
from pyloid.timer import PyloidTimer

app = Pyloid(app_name="MyApp", single_instance=True)

timer_manager = PyloidTimer()

########## Usage ##########

if timer_manager.is_timer_active(timer_id):
    print("The timer is still running.")
else:
    print("The timer has stopped.")

app.run()

Parameters

Prop

Type

Returns

boolTrue if timer is active, False otherwise.

get_remaining_time

Gets the remaining time until a timer fires.

from pyloid import Pyloid
from pyloid.timer import PyloidTimer

app = Pyloid(app_name="MyApp", single_instance=True)

timer_manager = PyloidTimer()

########## Usage ##########

remaining_time = timer_manager.get_remaining_time(timer_id)
if remaining_time is not None:
    print(f"{remaining_time}ms left until the timer fires.")

app.run()

Parameters

Prop

Type

Returns

Optional[int]Remaining time in milliseconds, or None if timer ID is not found.