Qt鼠标事件

简介: Qt鼠标事件

一、自定义标签控件

 二、编码实现

myLabel.h

#ifndef MYLABEL_H
#define MYLABEL_H
 
#include <QLabel>
 
class MyLabel : public QLabel
{
    Q_OBJECT
public:
    explicit MyLabel(QWidget *parent = nullptr);
 
    //鼠标进入事件
    void enterEvent(QEvent *event);
    //鼠标离开事件
    void leaveEvent(QEvent *);
 
    //鼠标按下
    void mousePressEvent(QMouseEvent *ev);
    //鼠标释放
    void mouseReleaseEvent(QMouseEvent *ev);
    //鼠标移动
    void mouseMoveEvent(QMouseEvent *ev);
signals:
 
};
 
#endif // MYLABEL_H

myLabel.cpp

#include "mylabel.h"
#include<QDebug>
#include<QMouseEvent>
MyLabel::MyLabel(QWidget *parent)
    : QLabel{parent}
{
    //设置鼠标追踪
    setMouseTracking(true);
}
 
//鼠标进入事件
void MyLabel::enterEvent(QEvent *event){
    qDebug()<<"鼠标进入事件";
}
//鼠标离开事件
void MyLabel::leaveEvent(QEvent *){
    qDebug()<<"鼠标离开事件";
}
//鼠标按下
void MyLabel::mousePressEvent(QMouseEvent *ev){
    if(ev->button()==Qt::LeftButton){
    QString str=QString("鼠标按下x=%1 y=%2 globalX=%3 globalY=%4").arg(ev->x()).arg(ev->y()).arg(ev->globalX()).arg(ev->globalY());
    qDebug()<<str;}
}
//鼠标释放
void MyLabel::mouseReleaseEvent(QMouseEvent *ev){
    if(ev->button()==Qt::LeftButton){
    qDebug()<<"鼠标释放";
    }
}
//鼠标移动
void MyLabel::mouseMoveEvent(QMouseEvent *ev){
    //移动操作判断左右键 位与
//    if(ev->buttons()&Qt::LeftButton){
    qDebug()<<"鼠标移动";
//    }
}

三、测试

相关文章
|
6月前
|
存储 搜索推荐 人机交互
Qt鼠标事件全面解析:从基础到实战
Qt鼠标事件全面解析:从基础到实战
1131 0
|
6月前
|
C++
Qt6学习笔记十(鼠标事件、事件分发器)
Qt6学习笔记十(鼠标事件、事件分发器)
109 0
|
12月前
《QT从基础到进阶·十八》QT中的各种鼠标事件QEvent
《QT从基础到进阶·十八》QT中的各种鼠标事件QEvent
194 0
Qt | 鼠标事件和滚轮事件 QMouseEvent、QWheelEvent
学习使用Qt的鼠标事件和滚轮事件。
804 0
QT软件开发: 窗口鼠标事件穿透
QT软件开发: 窗口鼠标事件穿透
674 0
QT软件开发: 窗口鼠标事件穿透
QT应用编程: 解决QGraphicsScene重写鼠标事件无法直接得到鼠标坐标问题
QT应用编程: 解决QGraphicsScene重写鼠标事件无法直接得到鼠标坐标问题
473 0
QT应用编程: 解决QGraphicsScene重写鼠标事件无法直接得到鼠标坐标问题
Qt [GC9-8]:让我们的程序可以随意的移动(重载鼠标事件)
Qt [GC9-8]:让我们的程序可以随意的移动(重载鼠标事件)
174 0
Qt [GC9-8]:让我们的程序可以随意的移动(重载鼠标事件)
Qt-事件处理-鼠标事件
Qt-事件处理-鼠标事件
137 0
|
4月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
173 1
Qt(C++)开发一款图片防盗用水印制作小工具