QT学习日记12——Qt中的鼠标事件

这篇具有很好参考价值的文章主要介绍了QT学习日记12——Qt中的鼠标事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习视频链接

最新QT从入门到实战完整版|传智教育_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1g4411H78N?p=31&vd_source=0471cde1c644648fafd07b54e303c905

目录

一、鼠标进入和出去事件

1.1 新建 C++ 文件

1.2 编写代码

1.3 操作

1.4 运行结果

二、鼠标点击、释放和移动事件

2.1 修改代码

2.2 运行结果

2.3 捕获点击的位置信息

2.4 判定是哪个按键按下

2.5 设置鼠标追踪状态


一、鼠标进入和出去事件

1.1 新建 C++ 文件

qt 鼠标事件,QT,学习

qt 鼠标事件,QT,学习 

1.2 编写代码

qt 鼠标事件,QT,学习

 qt 鼠标事件,QT,学习

 文章来源地址https://www.toymoban.com/news/detail-515867.html

1.3 操作

qt 鼠标事件,QT,学习

 qt 鼠标事件,QT,学习

 qt 鼠标事件,QT,学习

 

1.4 运行结果

qt 鼠标事件,QT,学习

 捕获鼠标进入和鼠标离开

二、鼠标点击、释放和移动事件

2.1 修改代码

qt 鼠标事件,QT,学习

 

qt 鼠标事件,QT,学习

 

2.2 运行结果

在按下后移动会一直打印移动

qt 鼠标事件,QT,学习

 

2.3 捕获点击的位置信息

头文件  #include <QMouseEvent>

qt 鼠标事件,QT,学习

打印全局坐标(基于屏幕的坐标,屏幕的坐标轴原点是左上角)

qt 鼠标事件,QT,学习

2.4 判定是哪个按键按下

qt 鼠标事件,QT,学习 qt 鼠标事件,QT,学习

左键移动判断不了,因为点击和释放是一个瞬间动作,移动是一个连续的动作,可能在移动的过程中右键也按下了

所以我们要使用位图的位运算

qt 鼠标事件,QT,学习

 

2.5 设置鼠标追踪状态

只要是在这上面移动就会打印,不需要鼠标按下

qt 鼠标事件,QT,学习

 qt 鼠标事件,QT,学习

 

到了这里,关于QT学习日记12——Qt中的鼠标事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • qt鼠标事件

    鼠标移动事件,只要移动鼠标,就会触发这个函数,其中,正常情况下,只有当鼠标在QWidget界面点击鼠标后,才会捕捉到鼠标的坐标,那如何实现,在不点击鼠标的情况下,也可以捕捉到鼠标移动事件呢? 代码如下: 比如在主窗口QWidget下有一个父窗口Lable,在鼠标进入Lab

    2024年02月09日
    浏览(41)
  • Qt 鼠标进入离开事件

    QEvent::Enter ​ 鼠标进入事件,当鼠标进入到窗口/控件内部时,触发该事件,它对应的子类是 QEnterEvent QEvent::Leave ​ 鼠标离开事件,当鼠标离开到窗口/控件内部时,触发该事件 自定义一个标签控件 LabelX ,让它继承自 QLabel ,然后重写父类的 enterEvent 和 leaveEvent 。 代码如下:

    2024年01月24日
    浏览(38)
  • 【QT】鼠标常用事件

    新建项目 加标签控件 当鼠标进去,显示【鼠标进入】,离开时显示【鼠标离开】 将QLable提升成自己的控件,然后再去捕获 添加文件 改继承的类名 提升类 同一个父类,可以提升 效果 现在代码就和Qlabel对应起来了。 在.h中声明,.cpp中实现 测试 鼠标的移动、按下、松开事件

    2024年02月06日
    浏览(39)
  • qt鼠标常用事件

    和上一个案例相同,也是做了提升,换了相同父类,但是方式有所不同 先在widget.ui中加入label标签,此时其父类为QLabel,然后想实现鼠标在QLabel上的捕获。所以我们需要把QLabel提升为自己的框架,然后自定义框架后,我们就可以自己捕获信息了。然后添加新文件mylabel.h和mylabel.cpp,

    2024年02月02日
    浏览(39)
  • Qt开发-鼠标事件

    个人认为,事件机制是Qt最难以理解且最为精妙的一部分。事件主要分为两种: 在与用户交互时发生 。比如按下鼠标(mousePressEvent),敲击键盘(keyPressEvent)等。 系统自动发生 ,比如计时器事件(timerEvent)等。 在发生事件时(比如说上面说的按下鼠标),就会产生一个

    2024年02月09日
    浏览(43)
  • Qt5鼠标事件

    判断鼠标按下了哪个键 本文福利, 莬 费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击 莬 费领取

    2024年02月12日
    浏览(31)
  • QT的使用3:鼠标事件

    用户对界面中的控件进行操作后,控件需要进行响应,响应一般有两种方式,一种是之前学过的槽函数,另一种是事件,部分操作无法通过槽函数响应,只能通过事件,例如鼠标移动,键盘输入等。 当某个事件(鼠标、键盘)发生的时候,相关控件就会收到这个事件,并且调

    2024年02月13日
    浏览(39)
  • qt 禁止点击 屏蔽鼠标事件

    我开了一个线程上传文件夹,用一个进度条显示进度 测试 就在界面随便点击 ,也没有出泵任何控件,没有引发槽函数,直接就崩了! 不知道为什么崩了,所以直接禁止点击,蔽鼠标事件! 主界面 进度条 Qt::WidgetAttribute::WA_TransparentForMouseEvents 该属性的含义是“透明掉鼠标事

    2024年02月15日
    浏览(42)
  • Qt知识笔记(八)—— 鼠标和事件

    默认情况下,触发事件需要点击一下,才能触发。可设置为自动触发: setMouseTracking(true); 鼠标事件有单机,双击,释放,移动,滑轮 单机:void mousePressEvent(QMouseEvent *event); 双击:void mouseDoubleClickEvent(QMouseEvent *event); 释放:void mouseReleaseEvent(QMouseEvent *event); 移动:void mouseMove

    2024年02月16日
    浏览(68)
  • Qt实现鼠标双击事件

    当同一个部件既要响应鼠标单击事件又要响应鼠标双击事件时,就会发生冲突,如下例: 创建自己的按钮类,让其继承于QPushButton类 (特别注意!!!) ,在创建类的时候默认可供选择的基类中无QPushButton类且没有QPushButton类的基类,无法使用多重继承,故必须手动修改继承

    2024年02月10日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包