如何在函数内部暂停程序,直到用户在表单上执行某些操作

时间:2019-04-10 06:21:19

标签: c++ qt for-loop events wait

我正在为我的C ++类开发一个项目,并且正在与AI和用户一起制作扑克程序。使用QT进行开发。

如果玩家不是AI,我需要做的是在DECISION()函数内部,程序会暂停直到用户按下按钮以折叠,通话或加注。

基本上,我需要在执行功能的过程中暂停程序,直到用户按下按钮为止。然后它将继续其余功能

if(Player[pp].ai == true){
    //A bunch of code for AI decision making for folding, calling, raising.
}
else{ //If Player is NOT an AI
    ENABLEUSERINPUT(true);

   //Need to pause program here until the user has done something to the GUI

   ENABLESERINPUT(false);

}

1 个答案:

答案 0 :(得分:0)

可以使用QEventLoop等待用户输入 例如,单击按钮将退出事件循环。

//Need to pause program here until the user has done something to the GUI
QEventLoop oLoop;

// user click on button will release the event loop.
connect(pYoutrBtn , &QPushButton::clicked,
        &oLoop,     &QEventLoop::quit);

// wait.
oLoop.exec();