QT鼠标事件

QT鼠标事件

1.概述

这篇文章介绍如何使用事件和获取事件的信号

2.创建项目

创建一个widget类型项目,在widget.ui文件中添加一个label控件

然后在项目名称上右键选择Add new... 添加文件,选择
C++ Class

自定义类名Mylabel,选择基类Base class,点击完成

3.重写鼠标进入和离开的事件

查看帮助文档,鼠标进入和离开的事件名称

mylabel.h重写这两个事件,因为要将mylabel提升为QLabel类型的部件,因此MyLabel类要改成继承QLabel

c 复制代码
#ifndef MYLABEL_H
#define MYLABEL_H

//改成QLabel
#include <QLabel>

// 改成初始化QLabel
class MyLabel : public QLabel
{
    Q_OBJECT
public:
    explicit MyLabel(QWidget *parent = nullptr);
    
//    鼠标进入事件
    void enterEvent(QEvent *event);
//    鼠标离开事件
    void leaveEvent(QEvent *);

signals:

};

#endif // MYLABEL_H

mylabel.cpp重写这两个事件的功能

c 复制代码
#include "mylabel.h"
#include <QDebug>

MyLabel::MyLabel(QWidget *parent) : QWidget(parent)
{

}

//    鼠标进入事件
void MyLabel::enterEvent(QEvent *event)
{
    qDebug() << "鼠标进入";
}
//    鼠标离开事件
void MyLabel::leaveEvent(QEvent *)
{
    qDebug() << "鼠标离开";
}

widget.ui文件中右键label控件,选择promote to 提升,提升的类名就是创建的MyLabel 类名,基类选择QLabel 然后点击Add 添加 , 点击Promote

当鼠标进入label和离开label,输出调试信息。

相关推荐
Swift社区1 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht1 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht1 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20241 小时前
Swift 数组
开发语言
stm 学习ing2 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc3 小时前
《Python基础》之字符串格式化输出
开发语言·python
mqiqe4 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin4 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python