作为wxWidgets的新手,我需要一些示例代码来说明如何使wxTimer工作.
该引用提供了3种使用它的方法,但不包括任何方法的示例代码.最理想的是,我想让方法2工作.
(来自samples/widgets/gauge.cpp :)
设置事件常量
enum
{
GaugePage_Reset = wxID_HIGHEST,
GaugePage_Progress,
Run Code Online (Sandbox Code Playgroud)
将事件连接到您的成员函数(使用您的事件常量)
EVT_TIMER(GaugePage_Timer, GaugeWidgetsPage::OnProgressTimer)
Run Code Online (Sandbox Code Playgroud)
然后你需要创建并启动你的计时器..
static const int INTERVAL = 300; // milliseconds
m_timer = new wxTimer(this, GaugePage_Timer);
m_timer->Start(INTERVAL);
Run Code Online (Sandbox Code Playgroud)
在文档中,第二种方法我认为要理解的是你的主要Window对象ISA wxEventHandler,所以当你创建它时,计时器自己连接到'this'(你的窗口).既然事件正在进入你的窗口,EVT_TIMER可能是最有效的方法来连接你的OnProgressTimer函数.
你还需要这个函数来调用...
void GaugeWidgetsPage::OnProgressTimer(wxTimerEvent& event)
{
Run Code Online (Sandbox Code Playgroud)
它不应该比那更困难.