wx小部件计时器不启动?
wxWidgets timer doesn't start?
这个wxWidgets代码(模拟便携式睡眠(不起作用。
MyClass::MyClass(){
m_timer = std::make_shared<wxTimer>(this, ID_TIMER);
}
void MyClass::WaitOneSecond()
{
m_timer->StartOnce(1000);
while (m_timer->GetInterval() < 1000);
}
通过 WaitOneSecond 调用使用 Visual Studio 时,不会出现延迟。为什么?。。。
wxwTimer
与WxWidget
的事件循环一起工作。
这意味着它会在延迟过期后通知您,但您必须交还控制权。
如文档中所述:
有三种不同的方法可以使用此类:
- 您可以从 wxTimer 派生一个新类,并覆盖 wxTimer::通知成员以执行所需的操作。
- 您可以使用非默认构造函数或 wxTimer::SetOwner 将通知重定向到任何 wxEvtHandler 派生对象。然后 使用 EVT_TIMER 宏将其连接到事件处理程序,该处理程序将 接收 wxTimerEvent 通知。
- 可以使用派生类和EVT_TIMER宏将其连接到派生类中定义的事件处理程序。如果默认 使用构造函数,计时器对象将是它自己的所有者对象, 因为它派生自wxEvtHandler。
wxWidgets 有一个 sleep 函数 wxMilliSleep
C++11 具有每个线程休眠状态:std::this_thread::sleep_for
相关文章:
- Linux的Cpp上的计时器
- 提升 ASIO 无法识别计时器对象
- 提升 asio 并发计时器取消问题与链
- 使用单体计时器的pthread_cond_timedwait有时会比预期晚超时
- 窗口中的微秒计时器
- 计时器是否从另一个线程启动?
- 如何在 c++ 中创建计时器
- C++回调计时器实现
- 在计时器或主线程外部的命令上销毁/替换线程
- 如何制作每秒从 30 乘 1 倒计时的计时器?
- 保留计时器集合(对象与指针)的最佳方法
- 在网络套接字计时器滴答后增加asio短读错误
- IO服务重新启动后,Boost最后期限计时器持续触发
- wx小部件计时器不启动?
- 终止计时器由 startTimer() 启动
- C :从一定的时间戳启动计时器,然后将其增加
- - C++ - 使用计时器线程启动异常,精度毫秒
- 在C/C++中,每100毫秒重新启动一次计时器
- 错误:无法从另一个线程启动计时器.使用未声明计时器的QFuture
- QT线程:获取QObject::startTimer:计时器无法从另一个线程启动警告