14、Qt 捕捉鼠标事件

2023-11-16

0、需求

在鼠标进入窗口实时捕捉所在位置,以及进行的操作。

1、方法

我们主要使用QWidget中的几个方法。

    //鼠标进入
    void enterEvent(QEvent *event);
    //鼠标离开
    void leaveEvent(QEvent *event);
    //鼠标点击
    void mousePressEvent(QMouseEvent *ev);
    ...还有很多

这里我们把需要获取鼠标的窗口类对这几个方法进行重写。

2、准备

  1. 利用ui加入label文本组件
    在这里插入图片描述
  2. 编写cpp类,继承QLabel

.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 *event);

    void mousePressEvent(QMouseEvent *ev);

signals:

public slots:
};

#endif // MYLABEL_H

.cpp文件

#include "mylabel.h"
#include <QDebug>
#include <QMouseEvent>

myLabel::myLabel(QWidget *parent) : QLabel(parent)
{

}

//鼠标进入
void myLabel::enterEvent(QEvent *event)
{
    qDebug()<<"鼠标进入了";
}

//鼠标离开
void myLabel::leaveEvent(QEvent *event)
{
    qDebug()<<"鼠标离开了";
}

void myLabel::mousePressEvent(QMouseEvent *ev)
{
    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;
}
  1. 对窗口进行提升
    在这里插入图片描述

3、运行

尝试在label中移动与点击
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

14、Qt 捕捉鼠标事件 的相关文章

  • 如何从 C# 中的 dataTable.Select( ) 查询中删除单引号?

    所以我有一个经销商名称列表 我正在我的数据表中搜索它们 问题是 一些傻瓜必须被命名为 Young s 这会导致错误 drs dtDealers Select DealerName dealerName 所以我尝试替换字符串 尽管它对我不起作
  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • 使用 GCP 的数据存储区时如何区分代码是在模拟器中运行还是在 GKE 中运行

    按照中给出的说明进行操作后 我不确定是否遗漏了任何内容https cloud google com datastore docs tools datastore emulator https cloud google com datasto
  • 类型约束

    我有以下类层次结构 class Header IEnumerable
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • 在 NaN 情况下 to_string() 可以返回什么

    我使用 VS 2012 遇到了非常令人恼火的行为 有时我的浮点数是 NaN auto dbgHelp std to string myFloat dbgHelp最终包含5008角色 你不能发明这个东西 其中大部分为0 最终结果是 0 INF
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • 这个可变参数模板示例有什么问题?

    基类是 include
  • 使用 C 在 OS X 中获取其他进程的 argv

    我想获得其他进程的argv 例如ps 我使用的是在 Intel 或 PowerPC 上运行的 Mac OS X 10 4 11 首先 我阅读了 ps 和 man kvm 的代码 然后编写了一些 C 代码 include
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • linux下的信号是怎么回事

    信号的产生 Linux下信号这个概念可以来说是非常重要的 先来说下如何产生信号 然后在逐一解释 键盘组合键 硬件异常错误 通过一些指令 软件条件 调用系统函数 1 键盘组合键这个很好理解 下面以一个简单的实例来说明 include
  • 淘宝的架构师,曾宪杰先生主讲的淘宝网架构分享总结【淘宝目前的架构方向】...

    关于什么是stateless的扫盲 见这个贴 http kyfxbl iteye com blog 1831869 一般有一个共识 就是把应用做成无状态的 会比较容易实现水平伸缩 但是以前一直有一个想法 就算应用是有状态的 也可以做成水平伸
  • InputStream 、 InputStreamReader 、 BufferedReader区别

    区别介绍 1 InputStream OutputStream 处理字节流的抽象类 InputStream 是字节输入流的所有类的超类 一般我们使用它的子类 如FileInputStream等 OutputStream是字节输出流的所有类的
  • 云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构设计分析

    SaaS 软件即服务 Software as a Service 的出现改变了传统使用软件转变为使用服务 SaaS与传统软件的最大区别是 前者按年付费租用服务 后者一次买断 这貌似只是 报价方式 的区别 实际上这是一个根本性的变化 这带来的
  • Pygame - 背景图片连续滚动

    方法 让背景图像分别在 0 0 和 0 img heigh 两个位置向下移动它们 当其中一个位于 0 img heigth 位置时 再次将其放置在 0 img heigh 位置 具体代码 import pygame import sys i
  • vue跳转微信小程序遇到的坑

    官方参考https developers weixin qq com doc offiaccount OA Web Apps Wechat Open Tag html 21 vue项目 h5跳转小程序 简书 遇到的问题 在PC端不显示样式
  • 力扣(LeetCode)算法_C++——最大连续 1 的个数 III

    给定一个二进制数组 nums 和一个整数 k 如果可以翻转最多 k 个 0 则返回 数组中连续 1 的最大个数 示例 1 输入 nums 1 1 1 0 0 0 1 1 1 1 0 K 2 输出 6 解释 1 1 1 0 0 1 1 1 1
  • PSA wiring diagram for jumper/relay 2.2hdi

    Anyone has 2007 Citroen Relay 2 2 HDI 88 KW 4HU engine and need an engine and abs wiring diagrams ECU Vistion DCU 102 Ju
  • c#线程三

    1 单元模式和Windows Forms 单元模式线程是一个自动线程安全机制 非常贴近于COM Microsoft的遗留下的组件对象模型 尽管 NET最大地放弃摆脱了遗留下的模型 但很多时候它也会突然出现 这是因为有必要与旧的API 进行通
  • 使用FPGA进行加速运算

    注 本篇文章来源于知乎 为微软亚洲研究院李博杰的回答 详细链接在这儿 点击打开链接 在这篇文章中 作者从CPU GPU FPGA的架构出发 讨论了微软数据中心为什么使用FPGA而不选择GPU 该文章是我逐字搬运过来的 其目的是为后续我们公司
  • XView小程序开源组件库

    XView小程序开源组件库 XView小程序组件库本着简单易用的原则封装组件 使用时只需要在json配置文件中引用即可 使用 组件库当中大致可分为一下三大类 布局组件 基础组件 表单组件 XView小程序组件库本着简单易用的原则封装组件 使
  • UI自动化概念 + Web自动化测试框架介绍

    1 UI自动化测试概念 我们先明确什么是UI UI 即 User Interface简称UI用户界面 是系统和用户之间进行交互和信息交换的媒介 UI自动化测试 Web自动化测试和移动自动化测试都属于UI自动化测试 UI自动化测试就是借助自动
  • tf2使用tensorboard(jupyter notebook)

    环境 tensorflow2 0 jupyter notebook unbuntu18 04 这个应该影响不大 示例 用的是iris数据集分类 该数据集库自带 import tensorflow as tf import numpy as
  • Catalan卡塔兰数

    今天在二叉搜索树 随机组成情况 分析复杂度遇到 catalan数 学习并记录一下 背景 分析二叉搜索树 BST 的平均性能时 我们可以分为随机生成和随机组成分析 随机生成 将各节点按照数的顺序随机排列 若含有n个节点 n个互异关键码 则有n
  • 波士顿动力开源代码_失去动力两年后,我如何开始开源之旅

    波士顿动力开源代码 by Hemakshi Sachdev 通过Hemakshi Sachdev 失去动力两年后 我如何开始开源之旅 How I started my open source journey after being demo
  • 数据结构(一)顺序表、链表以及队列

    一 顺序表 顺序表 它具有连续内存地址 访问方便O 1 但是删除和插入不方便O N 常用数组实现 在JAVA中 声明一个数组直接使用语句 int array new int k k为已知的数组大小 当然JAVA中本身自带了很多封装的数组 如
  • 全国地区代码表

    天津市 地区代码 地区名称 1100 天津市 辽宁省 地区代码 地区名称 2210 沈阳市 2210 法库县 2210 康平县 2210 辽中县 2210 新民市 2220 大连市 2222 普兰店市 2223 庄河市 2224 瓦房店市
  • 晶振电路中为什么用22pf或30pf

    让我们一起来看看到底晶振电路中为什么用22pf或30pf的电容而不用别的了 Y1是晶体 相当于三点式里面的电感 C1和C2就是电容 5404非门和R1实现一个NPN的三极管 接下来分析一下这个电路 5404必需要一个电阻 不然它处于饱和截止
  • js获取元素的距离父元素、窗口的距离offsetTop,offsetHeight,clientHeight

    前言 相信很多项目中都会有这样一个小需求 PC端 移动端则是点击 鼠标移上某个菜单或者某个位置 显示一个弹出框 移开则隐藏弹出框 就是css中hover效果 这种通常做法是每个子菜单下都有一个弹框 父元素相对定位 子元素绝对定位 只需要控制
  • 14、Qt 捕捉鼠标事件

    0 需求 在鼠标进入窗口实时捕捉所在位置 以及进行的操作 1 方法 我们主要使用QWidget中的几个方法 鼠标进入 void enterEvent QEvent event 鼠标离开 void leaveEvent QEvent even