找回密码
 立即注册
收起左侧

执行复杂操作的时候保持界面响应

7
回复
8537
查看
[复制链接]
累计签到:595 天
连续签到:1 天
来源: 2015-5-6 17:20:24 显示全部楼层 |阅读模式
5Qter豆
比如我点击一个按钮创建一个很复杂的窗体的时候,界面会出现假死的状态,我要怎么操作来保持界面的响应,比如鼠标可以移动或者鼠标可以显示一个忙的状态。

最佳答案

查看完整内容

楼上是最简单的方法,另外也可以用多线程
回复

使用道具 举报

尚未签到

2015-5-6 17:20:25 显示全部楼层
楼上是最简单的方法,另外也可以用多线程
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-6 17:36:17 显示全部楼层
  1. void QCoreApplication::processEvents ( QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents ) [static]
复制代码

点评

也可能是我的用法不对,这个函数使用的位置是?  详情 回复 发表于 2015-5-7 15:18
回复

使用道具 举报

累计签到:595 天
连续签到:1 天
2015-5-7 13:43:49 显示全部楼层
试过processevents感觉效果不明显,多线程是个方法,没去改,看来不能偷懒。
回复

使用道具 举报

累计签到:595 天
连续签到:1 天
2015-5-7 15:18:16 显示全部楼层
Syylc120317 发表于 2015-5-6 17:36

也可能是我的用法不对,这个函数使用的位置是?
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-8 12:37:57 显示全部楼层
sywh 发表于 2015-5-7 15:18
也可能是我的用法不对,这个函数使用的位置是?

执行耗时操作之前。用程序的全局指针,qApp调用。
回复

使用道具 举报

累计签到:40 天
连续签到:1 天
2015-5-9 21:13:48 显示全部楼层
多线程                                    
回复

使用道具 举报

累计签到:16 天
连续签到:1 天
2015-5-9 21:58:22 显示全部楼层
我只有在界面线程需要延时才使用processEvents 函数,一般都是用多线程,然后信号槽关联
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了