• 5002阅读
  • 3回复

[提问]QObject类定时器的使用 [复制链接]

上一主题 下一主题
离线flyingucla
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-25
想使用QObject类的定时器,也就是说每隔一定时间处理一次事件,即定时刷新数据,看了网上的不太明白,各位大哥给指导一下
离线zzh12215
只看该作者 1楼 发表于: 2012-04-25
每隔一定时间处理一次事件可以使用类QTimer。如下:

QTimer *timer = new QTimer(this);
     connect(timer, SIGNAL(timeout()), this, SLOT(dosth()));
     timer->start(1000);//间隔是1000毫秒

函数dosth()中 处理你的事件即可。
离线flyingucla
只看该作者 2楼 发表于: 2012-04-27
用了一个QSocketnotif类,QSocketNotifier 用来监听系统文件操作,将操作转换为Qt事件进入系统的消息循环队列。并调用预先设置的事件接受函数,处理事件,他所用到的信号槽机制是connect (sender, SIGNAL(activated(int)), receiver, SLOT(function()));,如果一直发数据的话占资源比较多,可不可以加定时器定时发射(SIGNAL(activated(int))),如果可以,定时器怎么加
离线shiziyang

只看该作者 3楼 发表于: 2012-04-27
void QTimer::singleShot ( int msec, QObject * receiver, const char * member )
用这个就行了
快速回复
限100 字节
 
上一个 下一个