鼠标事件 获取鼠标坐标及点击事件

news/2024/12/23 4:53:00/

运行效果:
在这里插入图片描述
头文件
#ifndef MOUSEEVENT_H
#define MOUSEEVENT_H

#include
#include
#include
#include

class MouseEvent : public QMainWindow
{
Q_OBJECT

public:
MouseEvent(QWidget *parent = 0);
~MouseEvent();
protected:
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
void mouseDoubleClickEvent(QMouseEvent *e);
private:
QLabel *statusLabel;
QLabel *MousePosLabel;
};

#endif // MOUSEEVENT_H

.cpp文件
#include “mouseevent.h”

MouseEvent::MouseEvent(QWidget *parent)
QMainWindow(parent)
{
setWindowTitle(tr(“鼠标事件”));
statusLabel = new QLabel;
statusLabel->setText(tr(“当前位置:”));
statusLabel->setFixedWidth(100);
MousePosLabel = new QLabel;
MousePosLabel->setText(tr(“”));
MousePosLabel->setFixedWidth(100);
statusBar()->addPermanentWidget(statusLabel);
statusBar()->addPermanentWidget(MousePosLabel);
this->setMouseTracking(true);
resize(400,200);
}

MouseEvent::~MouseEvent()
{

}

void MouseEvent::mousePressEvent(QMouseEvent *e)
{
QString str=“(”+QString::number(e->x())+“,”+QString::number(e->y())+“)”;
if(e->button()==Qt::LeftButton)
{
statusBar()->showMessage(tr(“左键:”)+str);
}
else if(e->button()==Qt::RightButton)
{
statusBar()->showMessage(tr(“右键:”)+str);
}
else if(e->button()==Qt::MidButton)
{
statusBar()->showMessage(tr(“中键:”)+str);
}
}

void MouseEvent::mouseMoveEvent(QMouseEvent *e)
{
MousePosLabel->setText(“(”+QString::number(e->x())+“, “+QString::number(e->y())+”)”);
}

void MouseEvent::mouseReleaseEvent(QMouseEvent *e)
{
QString str=“(”+QString::number(e->x())+“,”+QString::number(e->y())+“)”;
statusBar()->showMessage(tr(“释放在:”)+str,3000);
}

void MouseEvent::mouseDoubleClickEvent(QMouseEvent *e){}


http://www.ppmy.cn/news/438504.html

相关文章

寝室空调遥控解码

以前寝室的空调遥控器由宿管阿姨掌管,私心想着,若能仿制个遥控器能有多好。 此处解码的空调型号为海尔KFR-35GW/06NCA12,所用红外协议为NEC协议。NEC协议是众多红外遥控协议的其中一种,除NEC外,还有RC5等其它协议。 …

微软商店下载的python 的 pip 不能修改 config 的解决方法

微软商店下载的python不能修改config的解决方法 找到图中文件的位置 C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\\pip.ini 右键属性>安全 >高级 >更改 输入自己的用户名之后点确定 >确定 >确定 …

智能电视老是无服务器,只需简单几招,轻松解决智能电视无法连接WIFI问题

原标题:只需简单几招,轻松解决智能电视无法连接WIFI问题 看电视的时候,最痛苦的时候莫过于看到精彩情节的时候,网络不好,电视卡着不能播放,长时间无法恢复!如果网络很久没有恢复的话&#xff0c…

SpringBoot第27讲:SpringBoot集成MySQL - MyBatis 多个数据源

SpringBoot第27讲:SpringBoot集成MySQL - MyBatis 多个数据源 本文是SpringBoot第27讲,在某些场景下,Springboot需要使用多个数据源,以及某些场景会需要多个数据源的动态切换。本文主要介绍上述场景及 SpringBootMyBatis实现多个数…

苏宁api接口

请求参数:num_iid0071261484/000000012252673695 参数说明:num_iid:店铺ID/商品ID API接口工具 { "item": { "num_iid": "0071261484/000000012252673695", "title": "array(格力…

3D模型检索

1、引言 在互联网、计算机辅助设计(CAD)、分子生物学(3D蛋白质模型)、计算机图形学、医药以及考古学等不同领域中,大型的三维(3D)数据库变得越来越普遍。近期在激光扫描技术的进展使我们可以方…

poi-tl根据word模板导出word、使用spring-thymeleaf模板生成html并通过docx4j把html转word,使用jxls根据excel模板导出excel(1)

根据word模板导出word、使用spring-thymeleaf模板生成html并通过docx4j把html转word,使用jxls根据excel模板导出excel 使用poi-tl 根据word模板生成word 官网 http://deepoove.com/poi-tl https://zhengkai.blog.csdn.net/article/details/81702029?utm_mediumdistribute…

AWE艾普兰奖揭晓:8款精品问鼎家电业至高荣誉

3月10日上午,2018年中国家电及消费电子博览会(AWE2018)同期重要配套活动、2018年度AWE艾普兰奖颁奖典礼在上海举行。 经过多轮严格筛选,共有8款产品荣获家电与消费电子行业年度最高荣誉——艾普兰金奖,这8款获奖产品分…