我有一个发出信号test()
sig()
class Game:
{
public:
Game();
void test()
{....
emit sig();
connect(this,SIGNAL(sig()),this,SLOT(test()));
};
signals:
void sig();
}
我知道此代码无效且程序崩溃,因为connect
在退出之前重新进入test()
当test()
发出该信号时,我想退出test()
并重新启动它,这是可能的吗?
答案 0 :(得分:0)
使用connect(this,SIGNAL(sig()),this,SLOT(test()), Qt::QueuedConnection);
。该信号将使用线程的事件队列调度一个调用。