• 3347阅读
  • 3回复

event()处理定时器事件 [复制链接]

上一主题 下一主题
离线soulfy
 

只看楼主 倒序阅读 楼主  发表于: 2013-07-24
如果不通过MainWindow::timerEvent()方法处理定时器事件
而是在MainWindow::event()函数中处理QEvent::Timer事件,该怎么做?怎么获取timerId?
  1. void MainWindow::event(QEvent *e)
  2. {
  3.         switch(e->type() )
  4.          {
  5.           ......
  6.           case QEvent::Timer:
  7.                    ??????
  8.           ........
  9.          }
  10. }


离线dbzhang800

只看该作者 1楼 发表于: 2013-07-25
类型转换,转换成 QTimerEvent*
离线soulfy

只看该作者 2楼 发表于: 2013-07-26
回 1楼(dbzhang800) 的帖子
这个好像不行,按照C++ 类访问域的说法,父类 对象不能访问子类的方法吧。
///////
QEvent *e;
QTimerEvent *t = new QTimerEvent;
e = (QEvent*) t;
//////
QEvent *e=new QEvent;
QTimerEvent *t;
t = (QTimerEvent*) e;

这两种情况是不是不一样啊? 这方面有点搞不清楚了。
离线dbzhang800

只看该作者 3楼 发表于: 2013-07-26
建议多看看C++的资料:

比如,当前的问题,可以从熟悉C++的4个关键字入手 static_cast/const_cast/...
快速回复
限100 字节
 
上一个 下一个