• 4927阅读
  • 7回复

[提问]若要在界面显示后,做点费时的操作,该怎么弄? [复制链接]

上一主题 下一主题
离线陈小草
 
只看楼主 倒序阅读 楼主  发表于: 2012-12-19
之前是想写在showEvent中,父类showEvent之后,
但调试发现showEvent结束时,界面都还没显示


后又想到还可以在showEvent中,创建间隔为0的单触发计时器,超时时做那些费时的操作


不过,我想,应该有更好的办法。
离线kimtaikee

只看该作者 1楼 发表于: 2012-12-19
你把费时的操作放在GUI线程中到时候卡死你,用户不买账,凭直觉都是放在单独一个线程中去,欲知如何开线程请去googling .

离线陈小草
只看该作者 2楼 发表于: 2012-12-19
回 1楼(kimtaikee) 的帖子
也不是很费时、
只是不希望影响界面显示速度
离线陈小草
只看该作者 3楼 发表于: 2012-12-25
求答案
离线jdwx

只看该作者 4楼 发表于: 2012-12-25
回 2楼(陈小草) 的帖子
到底要多长时间?用的人(用户)受得了吗?要是全都没意见,OK。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线weilp
只看该作者 5楼 发表于: 2012-12-27
开辟个新的线程,把耗时的操作都放到这个线程中去执行,让主线程(即gui线程)继续响应UI操作
离线houxn22

只看该作者 6楼 发表于: 2013-01-18
可以在事件后加 QCoreApplication::processEvents()  不知你指的是不是这个意思。
离线roywillow

只看该作者 7楼 发表于: 2013-01-18
或者QtConcurrent模块也能满足你的需求?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个