我是靠谱客的博主 隐形汉堡,最近开发中收集的这篇文章主要介绍Qt_第三天_ 自定义组合控件_事件处理_事件分发器_事件过滤器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、自定义组合控件

1、添加一个类 Qt设计师界面类 .h .cpp .ui
2、将两个基本的控件组合到一个容器中,提升控件 将基类的名称填写正确
3、提升之后就可以使用这个控件
4、封装 信号和槽 QSpinBox移动QSilder跟着移动
5、对外接口 getData setData

将QSpinBox和QSilder组合在一起
先将QSilder和QSpinBox组合为一个控件,并提升为smallWidget类

在这里插入图片描述
再用代码关联
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、Qt中的事件处理

鼠标进入,鼠标离开事件
1、先在Widget.ui中拖入一个Label
2、创建一个MyLabel类,基类选择QWidget。.h .cpp
3、在.h和.cpp中将基类改为QLabel
4、将Widget.ui中的Label提升为MyLabel类,这样就可以用MyLabel来操作Widget.ui中的Label了
5、在MyLabel中重写虚函数,鼠标进入enterEvent(QEvent *) 和 鼠标离开leaveEvent(QEvent *),注意参数
在这里插入图片描述
在这里插入图片描述
鼠标按下、释放、移动事件
重写相应的虚函数
在这里插入图片描述
在这里插入图片描述
字符串拼接
QString str = QString("鼠标按下 x = %1 y = %2 ").arg(ev->x()).arg(ev->y());

3、定时器

Label中的数字每隔一定时间加一
void Widget::timerEvent(QTimerEvent *e)

Widget.h:
在这里插入图片描述

Widget.cpp在这里插入图片描述
在这里插入图片描述利用QTimer定时器类来实现定时功能
在这里插入图片描述

4、事件分发器

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5、事件过滤器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最后

以上就是隐形汉堡为你收集整理的Qt_第三天_ 自定义组合控件_事件处理_事件分发器_事件过滤器的全部内容,希望文章能够帮你解决Qt_第三天_ 自定义组合控件_事件处理_事件分发器_事件过滤器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部