• 10181阅读
  • 3回复

[提问]关于Qt的exec()作用 [复制链接]

上一主题 下一主题
离线17611904
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-10
书上说
在main函数时,Qt把控制权转交给main,然后在return a.exec()时把控制权再从main转交给Qt。
我想知道这样有什么用?或者说:
它和事件循环的关系。

可能问的有点糊涂,希望大家能讲下自己对exec的理解。
离线roywillow

只看该作者 1楼 发表于: 2011-04-10
我只记得exec()会启动事件循环
return a.exec()意思是先执行a.exec(),然后将执行的返回值给return出main
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线cecho

只看该作者 2楼 发表于: 2011-04-10
exec()  里面进行事件循环,程序结束前不返回值,所以就好像一直在执行  return a.exec();  
当程序结束,不再进行事件循环,qt就从exec()返回,得到的返回值 main()  的返回值
离线dbzhang800

只看该作者 3楼 发表于: 2011-04-10
引用楼主17611904于2011-04-10 10:23发表的 关于Qt的exec()作用 :
书上说
在main函数时,Qt把控制权转交给main,然后在return a.exec()时把控制权再从main转交给Qt。
我想知道这样有什么用?或者说:
它和事件循环的关系。
.......

简单地说:a.exec() 就是一个普通的函数调用,该函数内有一个 while 循环。循环结束后就可以执行后面的语句了

下面两个你可以凑活看看

这篇后半部分告诉你 exec 到底执行了什么东西
http://blog.csdn.net/dbzhang800/archive/2011/04/03/6300416.aspx

这个是两个例子:
http://blog.csdn.net/dbzhang800/archive/2011/04/03/6300519.aspx
快速回复
限100 字节
 
上一个 下一个