我需要检查系统时间,如果时间合适(我认为在一段时间之前正确的时间过去会更正确)使用wxwidgets进行某些操作。
我还没有找到可以处理这种情况的特定类或事件(我知道有wxTimer小部件,但它是计时器 - 从某个时刻开始计算时间但不检查它)
有没有比只运行while(true)
循环检查系统时间的线程更好的方法?
答案 0 :(得分:1)
当持续时间过去时,wxTimer类看起来像生成一个事件: wxTimerEvent documentation。
答案 1 :(得分:0)
我会使用boost :: asio截止时间计时器。
void handler(boost::system::error_code ec) { ... }
...
io_service i;
...
deadline_timer t(i);
t.expires_from_now(boost::posix_time::seconds(400));
t.async_wait(handler);
...
i.run();
http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/overview/timers.html
答案 2 :(得分:0)
您可以使用wxTimer
在将来的某个时间点执行操作,只需使用等于此点与现在之间差异的间隔启动它(wxDateTime
可以帮助您)。