Задержка времени в pyqt5
Как мне сделать чтобы при нажатию на кнопку через некоторое время выполнялась функция, sleep не подходит.
Так же как у tkinter after(ms, func) или у js setTimeout(ms, func)?
Ответы (1 шт):
QTimerClassКласс
QTimerпредоставляет повторяющиеся и одиночные таймеры.
singleShot: boolЭто свойство определяет, является ли таймер однократным Таймер однократного срабатывания срабатывает только один раз, таймеры не однократного срабатывания - каждые миллисекунды. Значением по умолчанию для этого свойства является false.
QtCore.QTimer.singleShot(1000, self.my_func)
Update
У меня почему-то ошибка self.wordButton.clicked.connect(lambda: QTimer.singleShot(2, print(1))) TypeError: arguments did not match any overloaded call: singleShot(int, PYQT_SLOT): argument 2 has unexpected type 'NoneType' singleShot(int, Qt.TimerType, PYQT_SLOT): argument 2 has unexpected type 'NoneType'
self.wordButton.clicked.connect(self.onWordButton)
def onWordButton(self):
QtCore.QTimer.singleShot(1000, lambda: print(1))