门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
图形动画
›
请问这个event的父部件是谁?
发布主题
返回列表
请问这个event的父部件是谁?
4
回复
4860
查看
[复制链接]
fangyinfei2019
当前离线
积分
128
fangyinfei2019
累计签到:2 天
连续签到:1 天
来源:
2019-8-25 16:42:23
显示全部楼层
|
阅读模式
1
Qter豆
在主窗口触发closeEvent事件时,
void
myWidget
::
closeEvent
(
QCloseEvent
*
event
)
中通过语句 event->ignore() 选择忽略了该事件,那么该closeEvent事件继续传递给“
父组件
”,那这个父组件究竟是谁?是myWidget?
附件:
您需要
登录
才可以下载或查看,没有帐号?
立即注册
最佳答案
dtswy
查看完整内容
事件在组件之间的传递规则:是从子组件到父组件一层层传递,直到传递到顶级主窗口为终止,不在继续传递。如:QWidget窗口上放一个QGroupBox,其上放一个QSpinBox,当在SpinBox上按下鼠标左键,则此事件先传递给SpinBox组件,不处理则继续传递给GroupBox组件,仍然没处理则传递给主窗口,无论主窗口处理与否,都不在传递。 所以楼主的问题,closeEvent事件会传递给本级组件myWidget,无论处理与否都不会继续传给父组件。因为按楼主的 ...
回复
使用道具
举报
dtswy
当前离线
积分
30
dtswy
累计签到:19 天
连续签到:1 天
2019-8-25 16:42:24
显示全部楼层
事件在组件之间的传递规则:是从子组件到父组件一层层传递,直到传递到顶级主窗口为终止,不在继续传递。如:QWidget窗口上放一个QGroupBox,其上放一个QSpinBox,当在SpinBox上按下鼠标左键,则此事件先传递给SpinBox组件,不处理则继续传递给GroupBox组件,仍然没处理则传递给主窗口,无论主窗口处理与否,都不在传递。
所以楼主的问题,closeEvent事件会传递给本级组件myWidget,无论处理与否都不会继续传给父组件。因为按楼主的意思,这个myWidget应该是顶级主窗口,没有父组件。
对于
“选择忽略了该事件,那么该closeEvent事件继续传递给父组件
”这句话是从Qt帮助信息中翻译过来的。而且缺少了“可能”二字。
回复
使用道具
举报
nxc2018
当前离线
积分
216
nxc2018
累计签到:182 天
连续签到:1 天
2019-8-26 14:38:52
显示全部楼层
你这个主窗口是myWidget的窗口吧,是的话就是他自己
回复
使用道具
举报
fangyinfei2019
当前离线
积分
128
fangyinfei2019
累计签到:2 天
连续签到:1 天
2019-8-31 10:46:03
显示全部楼层
原来如此!初学Qt,请多多包涵,谢谢大神指点!
回复
使用道具
举报
fangyinfei2019
当前离线
积分
128
fangyinfei2019
累计签到:2 天
连续签到:1 天
2019-8-31 10:47:10
显示全部楼层
dtswy 发表于 2019-8-25 16:42
事件在组件之间的传递规则:是从子组件到父组件一层层传递,直到传递到顶级主窗口为终止,不在继续传递。如 ...
原来如此!初学Qt,请多多包涵,谢谢大神指点!
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了