wxwidgets - 基本的 wxWidgets 计时器

标签 wxwidgets timer

作为 wxWidgets 的新手,我需要一些关于如何让 wxTimer 工作的示例代码。

The reference提供了 3 种使用方法,但不包含其中任何一种的示例代码。最理想的是,我想让方法 2 工作。

最佳答案

(来自样本/小部件/gauge.cpp :)

设置事件常量

enum
{ 
    GaugePage_Reset = wxID_HIGHEST,
    GaugePage_Progress,

将事件连接到您的成员函数(使用您的事件常量)
EVT_TIMER(GaugePage_Timer, GaugeWidgetsPage::OnProgressTimer)

然后你需要创建并启动你的计时器..
static const int INTERVAL = 300; // milliseconds
m_timer = new wxTimer(this, GaugePage_Timer);
m_timer->Start(INTERVAL);

在文档中,我认为要理解的第二种方法是您的主 Window 对象 ISA wxEventHandler,因此计时器在您创建它时将自身连接到“这个”(您的窗口)。现在事件将发送到您的窗口,EVT_TIMER 可能是将其连接到 OnProgressTimer 函数的最有效方法。

您也需要调用该函数...
void GaugeWidgetsPage::OnProgressTimer(wxTimerEvent& event)
{

应该没有比这更困难的了。

关于wxwidgets - 基本的 wxWidgets 计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/571523/

相关文章:

c++ - 使用 wxwidgets 在 c++ 中互斥锁

c++ - 有没有办法从内存文件处理程序加载图标?

python - 避免在笔记本中单击退出 wxPython TreeCtrl

javascript - 显示倒计时时间形式 jquery session 超时

timer - 如何在 flutter 中进行倒计时?

c# - Windows 服务中的可重入计时器

c++ - 类型 'wxMenuBar'必须实现继承的纯虚方法 'wxMenuBarBase::GetLabelTop'

c++ - 如何在 wxwidgets 中创建可调整大小的面板?

ios - 计时器设置在 iOS 中不起作用

ios - Swift 计时器在停止一次后不会重新启动