を使用して何が問題なのQTimer
ですか? タスクスケジューラがより良い選択肢であることに同意します。ここで0,03%
は、コードが実行されるときだけ、実際に何かを行うことになっています。正確な瞬間がそれほど重要でない場合は、タイマー間隔とチェック境界を増やして、不要な呼び出しを減らすことができます。しかし、あなたがそのような解決策を好むなら、これはうまくいくはずです:
someclass::someclass(){
member_timer = new QTimer(this);
QObject::connect(member_timer, SIGNAL(timeout()), this, SLOT(check_time()));
member_timer->start(30000);
member_cleanup_performed = false;
}
void someclass::check_time(){
QTimer ctime = QTime::currentTime();
if(ctime.hour() == 3 && ctime.minute() == 0){
if(member_cleanup_performed == false){
this->cleanup();
member_cleanup_performed = true;
}
}else{
member_cleanup_performed = false;
}
}