qt界面怎么延迟渲染

qt界面怎么延迟渲染,第1张

qt界面延迟渲染方法如下。

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 time

time.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()))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7958511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存