如何让函数在特定时间使用python和PyQt而不是使用Cron运行

如何让函数在特定时间使用python和PyQt而不是使用Cron运行,python,qt,pyqt,periodic-task,Python,Qt,Pyqt,Periodic Task,我正在PyQt中创建RSS应用程序,并试图找到一种好的程序更新方法。我发现了这一点,但也许有具体的方法来做这件事 我知道每个提要的更新周期,所以我希望在特定时间(hh:mm)运行更新 进行10分钟的循环,检查当前时间并运行更新,如果比下一次预测的提要更新更慢,则无法知道运行更新的具体时间。您应该在Qt应用程序中使用。通常您不需要关心特定的更新时间,因为目标是定期检查。因此,最简单的方法是为每个提要创建一个计时器,并设置每个计时器的更新间隔(例如10分钟) 如果出于某种原因确实希望在特定时间进行更

我正在PyQt中创建RSS应用程序,并试图找到一种好的程序更新方法。我发现了这一点,但也许有具体的方法来做这件事

我知道每个提要的更新周期,所以我希望在特定时间(hh:mm)运行更新

进行10分钟的循环,检查当前时间并运行更新,如果比下一次预测的提要更新更慢,则无法知道运行更新的具体时间。

您应该在Qt应用程序中使用。通常您不需要关心特定的更新时间,因为目标是定期检查。因此,最简单的方法是为每个提要创建一个计时器,并设置每个计时器的更新间隔(例如10分钟)

如果出于某种原因确实希望在特定时间进行更新,可以使用类似于
QDateTime::currentDateTime().msecsTo(targetTime)
的方法来计算计时器间隔,使用
QTimer::setSingleShot
使计时器非周期性,并在第一个计时器过期时设置另一个计时器

执行
timer->setTimerType(Qt::VeryCoarseTimer)
可能是合理的,因为您不需要太多的准确性,并且在某些情况下,Qt可以优化性能和功耗

注意,通常不能使用Python的方法来设置定时器,因为QT有它自己的事件循环,并且不允许其他库在其中间运行某些东西。