Пример работы с QTimer
Не могу понять как работают таймеры QTimer в PyQt5.
Допустим, надо после нажатия определенной кнопки чтобы таймер запускался и двигался элемент каждые n секунд на определённое расстояние.
Можете объяснить, или показать пример как это сделать?
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
В качестве dummy-примера:
class Widget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.button = QPushButton("Старт/Стоп", this)
self.timer = QTimer()
# Задаем интервал срабатывания таймера 1 сек (1000мсек)
self.timer.setInterval(1000) #
# Сигнал timeout будет "выбрасываться" через каждый QTimer.interval() времени (сейчас 1сек)
self.timer.timeout.connect(self.__moveElement)
# Кнопка запуска/остановки таймера
self.button.clicked.connect(lambda : self.timer.start() if not self.timer.isActive() else self.timer.stop())
# Слот обработки сигнала от таймера, запускаемый каждые QTimer.interval() времени
def __moveElement(self):
# Двигаем наши элементы
# В конце, не забываем обновить форму , или сцену и т.д.