【Qt学习之行】验证事件过滤器简易实例

验证事件过滤器简易实例

此项目实现过程:   
当发生一个事件时,我们首先判断该事件的接收者是否为lineEdit组件;如果是,则进一步判断事件类型是否为键盘事件。如果两者都成立,则根据按下键盘来交错放大或缩小编辑框中的图片
程序代码:https://github.com/CFC-F/Qt-LearningProcess/tree/master/Projects/2-QEventFliter

对于事件过滤器的学习,可进入浅谈事件过滤器进行了解

程序过程记录

1、创建一个基于MainWindow类的项目
2、右击项目,选择【添加新文件】–>【Qt】–>选择Qt分类中【Qt Resource File】,之后文件名自己命名,其他选项默认即可。
3、建立好资源文件后会默认进入资源管理界面,可以把图片先存放到项目下,在资源管理界面,按下“添加”按钮,选择“添加前缀”,然后将属性栏中的前缀改为“/myImage”,再点击“添加”按钮,选择“添加文件”,在弹出的对话框中进入到图片所在文件夹,选中图片后,点击打开即可。最后按下Ctrl+S快捷键,保存对文件的修改,(或者对项目进行构建)不进行这一步,就无法使用图片
(注意:Qt的资源系统要求资源文件必须放在与qrc文件同级或子级目录下,如果放在其他地方,当添加资源时会提示将文件复制到有效的位置)

4、在ui界面添加lineEdit组件,用于改变图片的放缩 ;添加label部件,用于存放图片,点击label,在右下方的属性中,选择Qlabel下的【pixmap】,点击右边的【下三角图标】–>选择资源,在打开的对话框中,选择之前放在资源文件中的图片即可
在这里插入图片描述
5、在项目中,mainwindow.h文件下添加函数声明
在这里插入图片描述
在项目中,mainwindow.h文件下添加图片的相关类

#include <QMatrix>
#include <QTextFrame>
#include <QLineEdit>

6、在mainwindow.cpp文件中
在构造函数中,安装事件过滤器函数,并进行相关内容的定义
在这里插入图片描述
添加eventFilter()函数
在这里插入图片描述

7、除了用事件过滤器,控制图片的缩放外,还可以用其他函数进行实现
例如:在ui界面中,添加一个pushButton组件,在右下方pushButton组件的属性处选中【checkable】
在这里插入图片描述
右键点击按钮,选中【转到槽】,在出现的界面选中【clicked(bool checked)】
在这里插入图片描述
随之后转到槽函数,即在mainwindow.cpp文件下,添加以下内容
在这里插入图片描述
如果想让组件随图片的变化一起进行位置变化的话,可以选择【整个窗体】,选择布局【在窗体布局中布局(F)】,让这个窗体进行布局即可

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值