[파이썬] PyQt 타이머 (`QTimer`)

In this blog post, we will discuss how to use the QTimer class from the PyQt library to create timers in Python. Timers are useful when you want to schedule and execute code at specific intervals. PyQt’s QTimer provides a convenient way to implement timers in your PyQt applications.

What is QTimer?

QTimer is a class in the PyQt framework that allows you to create and manage timers in your Python applications. It provides methods to start, stop, and control the timing of the timer.

Installing PyQt

Before we start using QTimer, we need to install PyQt. You can do this by running the following command:

pip install PyQt5

Creating a QTimer

To create a QTimer object, we need to import it from PyQt5.QtCore. Here’s an example of how to create a QTimer:

from PyQt5.QtCore import QTimer

# Create a QTimer object
timer = QTimer()

Setting the Timer Interval

After creating a QTimer object, you can set the interval for the timer using the setInterval() method. The interval is specified in milliseconds, so if you want a timer that ticks every 1 second, you would set the interval to 1000.

# Set the timer interval to 1 second (1000 milliseconds)
timer.setInterval(1000)

Connecting Signals and Slots

In PyQt, a signal is emitted when a specific event occurs, and a slot is a function that gets executed in response to a signal. To make our QTimer work, we need to connect its timeout signal to a slot that contains the code we want to execute when the timer times out.

# Connect the QTimer's timeout signal to a slot function
timer.timeout.connect(on_timer_timeout)

Here, on_timer_timeout is the name of the slot function that will be executed when the timer times out. Replace it with your own function name.

Starting the Timer

To start the timer, call the start() method on the QTimer object. This will start the timer and begin emitting the timeout signal at the specified interval.

# Start the timer
timer.start()

Handling Timer Events

To handle the timer events, you need to define a slot function that will be executed when the timer times out. This function will contain the code you want to run at each interval.

def on_timer_timeout():
    # Code to be executed when the timer times out
    print("Timer timed out!")

Stopping the Timer

To stop the timer, call the stop() method on the QTimer object.

# Stop the timer
timer.stop()

Conclusion

In this blog post, we have explored how to use the QTimer class from the PyQt library to create timers in Python. Timers are useful for scheduling and executing code at specific intervals. By following the steps outlined in this blog post, you can easily implement QTimer in your PyQt applications.