QTimer behandelt nicht bestimmte Tageszeiten nativ, aber Sie können es in Verbindung mit QDateTime verwenden, um zu erhalten, was Sie wollen. Das heißt, verwenden Sie QDateTime-Objekte, um herauszufinden, wie viele Sekunden zwischen (momentan) und 2:30 (QDateTime :: msecsTo () besonders geeignet sind) und setzen Sie Ihren QTimer nach diesen vielen Sekunden ab. Wiederholen Sie dies bei Bedarf.
Abhängig von der benötigten Auflösung können Sie einen gewöhnlichen QTimer verwenden, der z. B. jede Minute auslöst.
Im timerEvent können Sie prüfen, ob Sie zur richtigen Zeit sind (mit QDateTime) und das erforderliche Ereignis auslösen.
Die Lösung von Jeremy ist zwar elegant, berücksichtigt aber nicht die Sommerzeit.
Um dagegen zu warnen, sollten Sie jede Stunde ein Timer-Ereignis auslösen und die Wanduhr überprüfen.
Berechnen Sie das Delta zum Ziel, wie Jeremy es vorschlägt, und wenn es innerhalb der nächsten Stunde fällt, stellen Sie einen Timer zum Auslösen ein und deaktivieren Sie den Stundenzähler.
Wenn nicht, warten Sie einfach darauf, dass der Stundenzähler erneut ausgelöst wird.