답변
QTimer는 기본적으로 특정 시간을 처리하지 않지만 QDateTime과 함께 사용하여 원하는 것을 얻을 수 있습니다. 즉, QDateTime 객체를 사용하여 몇 초 사이에 (지금 당장) 2시 30 분 (여기서 QDateTime :: msecsTo()가 특히 적합 해 보일지) 파악한 다음 QTimer를 설정하여 몇 초 후에 꺼내십시오. 필요한만큼 반복하십시오.
필요한 해상도에 따라 매분마다 발사되는 일반 QTimer를 사용할 수 있습니다.
timerEvent에서 적절한 시간 (QDateTime 사용)인지 확인하고 필요한 이벤트를 트리거 할 수 있습니다.
이 접근법은 @ Jeremy 's보다 덜 우아하지만 사용자가 시스템 클럭을 재설정하기로 결정한 경우 중단되지 않는 추가 보너스를 제공합니다. – Septagram
Jeremy의 솔루션은 실제로 우아하지만 일광 절약 시간을 고려하지 않았습니다. 이를 방지하려면 매시간 타이머 이벤트를 발생시키고 벽시계를 확인해야합니다. Jeremy가 제안한 것처럼 대상에 대한 델타를 계산하고, 다음 시간대에 해당되면 타이머를 설정하여 시간별 타이머를 사용하지 않도록 설정하십시오.
그렇지 않은 경우 시간별 타이머가 다시 시작될 때까지 기다리십시오.
Pseudo code:
Get wall clock time
Calculate difference between target time and wall clock
If difference < 1 hour:
Set timer to fire after difference secs
If this is a repeating event, restart the hourly timer
Else:
Start watch timer to do this calculation again after one hour
- 1. 특정 시간 또는 특정 시간 후에 SharePoint 워크 플로 시작
- 2. 시작 시간
- 3. QTimer 대 개별 스레드
- 4. QDragEvent 문제가있는 QTimer
- 5. QTimer 기본 프로그램 도움말
- 6. Eclipse : 느린 시작 시간
- 7. 리눅스에서 프로세스 시작 시간
- 8. jboss 5 시작 시간?
- 9. Windows 서비스 시작 시간
- 10. 실행중인 프로세스 시작 시간
- 11. 특정 시간
- 12. ClickOnce 시작 메뉴 링크에서 시작 시간
- 13. XML 시작 시간 및 종료 시간
- 14. 현재 시간 이전의 석영 트리거 시작 시간
- 15. 특정 시간 간격 내의 시간
- 16. 특정 시간 동안 소리 재생
- 17. 스레드의 QTimer - 이벤트가 처리되지 않습니까?
- 18. QTimer & Select를 사용하십시오. 경매가 작동해야합니다.
- 19. 특정 URL이있는 UIWebview 시작
- 20. 특정 로케일로 앱 시작
- 21. 특정 지점에서 scrolldiv 시작
- 22. 특정 위치에서 CATransition 시작
- 23. QGIS (Quantum GIS)에서 QTimer 발사 문제
- 24. Windows 서비스 시작 시간 초과
- 25. 유창한 nHibernate 느린 시작 시간
- 26. 속도 향상 BLToolkit 시작 시간
- 27. 특정 시간 (예 :
- 28. iPhone 응용 프로그램 시작 시간 줄이기
- 29. 특정 레코드에 대한 활동 시작
- 30. 특정 방식으로 단말기를 시작 하시겠습니까?
타이머가 실행되는 동안 장치가 일시 중단되면 실패합니다. 너무 오래 실행됩니다. – ypnos