• 6484阅读
  • 6回复

【求教】想让程序停留在某处一段时间,时间过后再继续执行 [复制链接]

上一主题 下一主题
离线davis45
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-13
可能最简单的就是直接这样写:
ini i=0;
while(i<500)
{
i++;
}
但是这样我就无法计算到底延迟了多久执行下面的代码,我希望能精确一点,比如停留500毫秒后继续执行,不知道QThread是否能够做到,对线程掌握的不多,不敢贸然使用。
想使用定时器,但是是在同一个函数中,不知道timeout后如何回到原来start的代码处,比较困惑。
谢谢大家的指教
离线davis45
只看该作者 1楼 发表于: 2010-12-13
#include <windows.h>
sleep()
难道我要这么用?不想加window的头文件啊……
谢谢大家的指教
离线zhuhongaaa
只看该作者 2楼 发表于: 2010-12-13
可不可以用线程去管理?
http://varmilion.tk
离线roywillow

只看该作者 3楼 发表于: 2010-12-13
恩……把要延迟的部分放到别处让QTimer去执行?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线davis45
只看该作者 4楼 发表于: 2010-12-13
其实我感觉我的思路一开始就错了,因为即使我的程序停留了一段时间,程序中其他的处理部分也停了,根本达不到预期效果,估计这要涉及启两个线程的问题了
我原本就是想在一个函数中,有一个循环,在循环中,比如有个函数doSomething(),在这个函数之前我想停留一段时间,但是又要执行其他的函数……一开始我就想错了
谢谢大家的指教
离线roywillow

只看该作者 5楼 发表于: 2010-12-13
如果只是想在执行到某个部位出现等一会开始“并行”执行的话,或许QTimer可以用吧,把需要延迟的东西用QTimer来触发执行。
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 6楼 发表于: 2010-12-13
从 QThread   public一个类,里面就有好几个sleep()函数可用!
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个