• 3446阅读
  • 1回复

:我的定时器怎么不执行? [复制链接]

上一主题 下一主题
离线flame
 
只看楼主 倒序阅读 楼主  发表于: 2009-04-05
class a
{
public:
QTimer counter;
void method1()
{
counter = new QTimer(this) ;
connect(counter, SIGNAL(timeout()),this, SLOT(method2()));
counter->start(1000);
};
public slots:
void method2(){ };
}

class mythread :QThread
{
public:
void run(){a->method1()};
}

main()
{
a *mya = new a();
QThread * mythread = new mythread(mya)
mythread->run()
}

是有界面的项目,但是这个类的功能都是不用到Gui的。只是一些功能类。。。


大致的调用过程就是这样,在一个线程里面调用一个对象里面的方法,这个方法里面的定时器却不执行。

这种情况我想要method2定期执行该怎么办???希望哪位兄弟能详细指点,我在出差阿,没搞定就要死人了。。。

呵呵,谢谢,谢谢能给予我帮助的每一个人!!!
[ 此帖被flame在2009-04-05 19:57重新编辑 ]
离线flame
只看该作者 1楼 发表于: 2009-04-05
mythread->run() ;
//后面加上
mythread->exec();
//就可以了。没有执行QThread::exec()开启事件循环,线程里的所有对象将不会发送信号,如这儿QTimer将不会发送timeout信号。
快速回复
限100 字节
 
上一个 下一个