в лябмде, перезапустить этот же сингл шот?
Ты не туда кастишь
но типо идея верна, так можно?
Нет. sender() в лямбде тебе, по-идее, возвращает nullptr
По идее вернёт QObject так как таймеры завязаны на QObject кажется или на QThread
а если кастить к QSingleShotTimer?
а он уже уничтожен
QTimer *timer=new QTImer(this); timer->setSingleShot(true); connect(timer,&QTimer::timeout,timer,[this]() { timer->start(); }); тебе НЕОБХОДИМО создать объект, если ты его хочешь перезапускать
кстати как вариант, спасибо
нет, объект необязателен, можно также запускать singleShot, но вот в лямбду это не положить, потому-что она тогда рекурсивно должна снова вызывать лямбду. Можно просто обернуть сам вызов синглшота в функцию и её из лямбды дёргать
вот короче решение, вроде как норм получается, и без сингл шотов
я это и имел ввиду, каким образом временный объект будет из лябды работать? только созданием опять временного объекта... "У попа была собака..."
Обсуждают сегодня