1、多线程程序使用QThread::sleep()或者QThread::msleep()或QThread::usleep()或QThread::wait()进行延时处理。
2、自定义延时函数:使用QEventLoop。
3、使用QElapsedTimer。
4、创建子事件循环,在子事件循环中,父事件循环仍然是可执行的。
几种方法:方法1:
在AppDelegate.m里写上
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[NSThread sleepForTimeInterval:2.0]
[_window makeKeyAndVisible]
// Override point for customization after application launch.
return YES
}
方法2:
Timer ,Thread都可以延时
1,如果是静态的数据,启动页面想让用户看清楚,那么sleep延时是最简单的方法。
2,如果是要动态显示加载进度,应用信息,就要字定义view,延时消失。
方法3:
iPhone开发实现splash画面非常简单,做一个全屏的欢迎页的图片,把它命名为Default.png,然后放在Xcode工程的Resource里面。
在XXXAppDelegate.m程序中,插入如下代码:
- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//–inserta delay of 5 seconds before the splash screendisappears–
[NSThread sleepForTimeInterval:5.0]
//Override point for customization after applicationlaunch.
//Add the view controller’s view to the window anddisplay.
[windowaddSubview:viewController.view]
[windowmakeKeyAndVisible]
return YES
}
这样splash页面就停留5秒后,消失了。
QTime timetime.start()
while(time.elapsed()>=spinBoxGap->value()*1000)
// 从此段代码可以看出,你是想设定一个时间间隔,执行一次循环time.elapsed(),但是你此处的time未设置间隔。具体设置好像直接start(1000)就可以了,1000单位是毫秒。,即每分钟循环执行1次。
// 给你推荐个方法采用QTimer(定时器)
timer = new QTimer()
// 设置定时器执行间隔
timer->setInterval(spinBoxGap->currentText().toInt() * 1000)
// 然后连接槽函数,执行相关 *** 作即可
connect(timer, SIGNAL(timeout()), this, SLLOT(whatyoudo()))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)