特定时间的wxwidgets事件

时间:2014-06-20 18:57:43

标签: c++ wxwidgets

我需要检查系统时间,如果时间合适(我认为在一段时间之前正确的时间过去会更正确)使用wxwidgets进行某些操作。 我还没有找到可以处理这种情况的特定类或事件(我知道有wxTimer小部件,但它是计时器 - 从某个时刻开始计算时间但不检查它) 有没有比只运行while(true)循环检查系统时间的线程更好的方法?

3 个答案:

答案 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可以帮助您)。