• 4962阅读
  • 1回复

关于emit的问题 [复制链接]

上一主题 下一主题
离线kain
 
只看楼主 倒序阅读 楼主  发表于: 2010-08-12



void GameEngine::nextTurn()
{
if( getIsFinished() )
{
whoWins();
}
else
{
askMove();
}
}



















void GameEngine::askMove()
{


if( currentPlayer == p1 )
{
emit sendInfosGameDisplay(P1_Playing);
}
else
{
emit sendInfosGameDisplay(P2_Playing);
}


emit askingLocalMove();    //


}


在信号askingLocalMove()相关联的函数里面又会调用到nextTurn()函数,这样会不会形成类似于递归的调用,导致程序运行越来越慢
如果是的话,有没有解决办法
我这是个黑白棋游戏,就是askingLocalMove(); === 用户点击棋盘,
处理完棋盘信息后又调用askMove等待下部点击
谢谢大家了
离线dbzhang800

只看该作者 1楼 发表于: 2010-08-12
注意connect 的最后一个参数可用
Qt::QueuedConnection
快速回复
限100 字节
 
上一个 下一个