当前位置: 首页 > news >正文

QT鼠标事件

QT鼠标事件

1.概述

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

2.创建项目

创建一个widget类型项目,在widget.ui文件中添加一个label控件
在这里插入图片描述

然后在项目名称上右键选择Add new... 添加文件,选择
C++ Class
在这里插入图片描述
自定义类名Mylabel,选择基类Base class,点击完成
在这里插入图片描述

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

查看帮助文档,鼠标进入和离开的事件名称
在这里插入图片描述

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

#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重写这两个事件的功能

#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,输出调试信息。
在这里插入图片描述

http://www.lryc.cn/news/482550.html

相关文章:

  • Ubuntu 的 ROS 操作系统turtlebot3环境搭建
  • C++笔记---异常
  • Python 操作数据库:读取 Clickhouse 数据存入csv文件
  • 如何找到系统中bert-base-uncased默认安装位置
  • 在启动 Spring Boot 项目时,报找不到 slf4j 的错误
  • android-12-source-code--write-file-function
  • SQL(2)
  • 【IC每日一题:AMBA总线--APB协议时序及Verilog实现】
  • 抢先看!为什么很多公司会强行给员工电脑加屏幕水印?千字长文来解答
  • 【AI技术】PaddleSpeech部署方案
  • 可灵开始“独闯”,全面拥抱AI的快手能否尝到“甜头”?
  • qt QtConcurrent 详解
  • 基于构件的软件开发、软件维护、区块链技术及湖仓一体架构的应用
  • 【在Typora中绘制用户旅程图和甘特图】
  • 【Vue3】知识汇总,附详细定义和源码详解,后续出微信小程序项目(2)
  • uniapp中使用全局样式文件引入的三种方式
  • 计算机网络易混淆知识点串记
  • Java代码审计-模板注入漏洞
  • 如何在Linux中使用Cron定时执行SQL任务
  • 数据集划分
  • 带你读懂什么是AI Agent智能体
  • react动态路由
  • Linux基础(十四)——BASH
  • 架构师备考-概念背诵(系统架构)
  • 如何让ffmpeg运行时从当前目录加载库,而不是从/lib64
  • Kafka-Controller选举
  • 必知的 Vue3 组件传值技巧:解锁组件交互新姿势
  • 【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型
  • 创新体验触手可及 紫光展锐携手影目科技推出AI眼镜开放平台
  • 115页PDF | 埃森哲_XX集团信息化能力成熟度评估及能力提升方案(限免下载)