timeupdatethread.cpp 797 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "timeupdatethread.h"
  2. TimeUpdateThread::TimeUpdateThread(QObject *parent) : QThread(parent)
  3. {
  4. timer = new QTimer(this);
  5. connect(timer, &QTimer::timeout, [this]() {
  6. QDateTime currentDateTime = QDateTime::currentDateTime();
  7. QString currentTimeString = currentDateTime.toString("yyyy-MM-dd hh:mm:ss");
  8. emit timeUpdated(currentTimeString);
  9. });
  10. }
  11. void TimeUpdateThread::stop()
  12. {
  13. isStopped = true;
  14. timer->stop();
  15. quit();
  16. }
  17. TimeUpdateThread::~TimeUpdateThread()
  18. {
  19. stop();
  20. wait();
  21. }
  22. void TimeUpdateThread::run()
  23. {
  24. timer->start(1000);
  25. QDateTime currentDateTime = QDateTime::currentDateTime();
  26. QString currentTimeString = currentDateTime.toString("yyyy-MM-dd hh:mm:ss");
  27. emit timeUpdated(currentTimeString);
  28. exec();
  29. }