【问题标题】:wxwidgets event at specific time特定时间的 wxwidgets 事件
【发布时间】:2014-06-20 18:57:42
【问题描述】:

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

【问题讨论】:

    标签: c++ wxwidgets


    【解决方案1】:

    看起来像 wxTimer 类在持续时间过去后生成一个事件
    wxTimerEvent documentation

    【讨论】:

      【解决方案2】:

      我会为此使用 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

      【讨论】:

        【解决方案3】:

        您可以使用wxTimer 在未来的某个时间点执行操作,只需以等于该点与现在之间的差值的间隔开始它(wxDateTime 可以帮助您)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-10-21
          • 1970-01-01
          • 2011-05-01
          • 1970-01-01
          • 2014-08-30
          • 2014-02-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多