• 5492阅读
  • 5回复

[讨论]对话框使用exec()后信号槽的问题 [复制链接]

上一主题 下一主题
离线gerryleeke
 

只看楼主 倒序阅读 楼主  发表于: 2012-04-26
关键词: 信号槽
我在主窗口使用exec()来调用对话框
在对话框里点击按钮发出一个信号,
然后在主窗口中connect 这个信号,
可是槽函数不起作用。
这个问题困扰了我半天。
后来我无意中将exec() 改为show() ,
居然可以了!!!
不知道是什么原因??
离线passion_wu
只看该作者 1楼 发表于: 2012-04-26
你的connect函数是不是写在对话框的exec函数之后?
仔细看下exec函数。只有当该对话框退出事件循环之后才会执行exec之后的代码!!!
离线淳于半邪

只看该作者 2楼 发表于: 2012-04-27
应该是代码的问题,理论上是没错的!
离线shiziyang

只看该作者 3楼 发表于: 2012-04-27
不要用exec,用它的话下面会被block住,模态的话最好是用open,非模态的话用show
注意用open或show时你要弹的那个对话框不能是函数中的临时的变量,否则会一闪而过。
离线gerryleeke

只看该作者 4楼 发表于: 2012-04-27
回 1楼(passion_wu) 的帖子
恩,connect确实是放在exec后面的。
应该是exec把connect信号槽事件阻止了。
在对话框里面我是先emit 信号,再accept()的。想问一下顺序反过来会不会有问题?
离线passion_wu
只看该作者 5楼 发表于: 2012-04-27
回 4楼(gerryleeke) 的帖子
这样的问题还需要问哦?最好自己测试啊!!!
快速回复
限100 字节
 
上一个 下一个