如何使用Qt为同一功能创建2任务?

时间:2018-03-05 05:49:27

标签: c++ qt delay raspberry-pi3

我和Qt一起玩。我正在使用一个超声波传感器,如果我启动玩具它可以正常工作。

目前,我在做什么?例如,我已经编程了一个玩具,我将启动玩具然后它将开始连续行走,如果有人在超声波传感器前面,那么它将感觉到并且将停止行走。 (这很好)。这就是我创造的。

minifyEnabled

Toystart Thread:

bool Toystart::Limit() { if(Dist <= 55) { return true; } return false; }

main Thread:

我到底想要什么?

上面提到的代码工作正常,我想创建一个更多的功能。例如,一个人在娃娃面前停止说话5秒然后它将再次检查仍然在那里它将停止说话。它需要在5秒后再次检查,如果仍然在那里它会在那里进入新功能它会说请在5秒后离开我,如果不存在它将会行走。

1 个答案:

答案 0 :(得分:0)

但这是一个阻止电话。您的功能会停留5秒钟,并且根据延迟()的实施方式,它可能会使您的整个应用无法响应任何其他呼叫和事件。

伪代码:

if (obstacle is near) {
  if (last_operation == "wait") {
    last_operation = "Action";
    takeAction();
  } else {
    last_operation = "wait";
    wait();
  }
} else { // no obstacle
  last_operation = "go";
  go();
}

这就是你要照顾的吗?