QT使程序暂停

一个小项目,没设么复杂实现。控制一个蝴蝶飞来飞去,就这么简单。

三个按钮,【开始】,【暂停/继续】,【重设归位】。

【开始】后,蝴蝶随机地飞,现在【暂停】,蝴蝶就应该停在原位,任何动作停止,等待【暂停/继续】的信号。

我的问题就发生在【暂停】触发信号,进而使蝴蝶停在原位静止的时候,这个静止怎么写。

我的思路就是设置一个变量,如果触发的是【暂停】,就设为true,那么程序逻辑控制蝴蝶的那段代码中会检测这个变量是否为true,如果是,就让控制飞舞的这段代码暂停在这里(有while嘛,就是让while暂停),直到它为假,那这个程序暂停怎么实现呢?

我百度了下,方法很多。但感觉QT肯定已经有考虑到这方面的需求,但百度的答案的代码冗长,终于找到一个QTest::qWait。但好像说QTest这个类尽量不要用。所以,额,各位大佬,你们工作中,遇到需要(while语句)暂停的时候怎么写,越精简越好(这么强大的qt,怎么没有一句代码就可以解决这事呢,很好奇)

阅读 7.8k
1 个回答

不需要完全暂停程序,进入暂停状态(例如设某个变量为true)后,不更新蝴蝶的位置就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进