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

个人可以做下载类网站吗友情链接名词解释

个人可以做下载类网站吗,友情链接名词解释,网站建设绩效考核表,免费架设网站mousePressEvent 和 eventFilter 里 event.pos 不一样,一定要注意 eventFilter里event.pos 直接返回相对于label左上角的坐标,就不要再mapFrom mousePressEvent 里event.pos 返回是相对于窗口左上角的坐标,需要用mapFrom返回label左上角的…

mousePressEvent 和  eventFilter 里 event.pos 不一样,一定要注意

eventFilter里event.pos 直接返回相对于label左上角的坐标,就不要再mapFrom

mousePressEvent 里event.pos 返回是相对于窗口左上角的坐标,需要用mapFrom返回label左上角的坐标


event->pos()  :  以图片的左上角为中心(0,0),右下角:(图片宽度,图片高度)

mapFrom : 相当于 ( -x'+event->pos().x,-y'+event->pos().y )  ,其中 x' 和 y ' 值请看下图


 

 


#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();bool eventFilter(QObject* watched, QEvent* event) override;void mousePressEvent(QMouseEvent* event) override;private:Ui::MainWindow *ui;void onMouse(QMouseEvent* event);
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QEvent>
#include <QMouseEvent>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);ui->label->setAttribute(Qt::WA_Hover);  // 确保 QLabel 能接收到鼠标移动事件ui->label->setMouseTracking(true); //鼠标移入label上移动就会触发MouseMove,去掉这行后,只有鼠标按下且移动才会触发ui->label->installEventFilter(this);
}MainWindow::~MainWindow()
{delete ui;
}// 添加事件过滤器处理鼠标事件
bool MainWindow::eventFilter(QObject* watched, QEvent* event)
{if (watched == ui->label) {if (event->type() == QEvent::MouseMove) {QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(event);onMouse(mouseEvent);return true;}else if (event->type() == QEvent::Leave) {//qDebug()<<"li kai l";}}return QMainWindow::eventFilter(watched, event);
}void MainWindow::onMouse(QMouseEvent* event)
{// 将QLabel的坐标转换为图像坐标QPoint pos = ui->label->mapFrom(this, event->pos());  //eventFilter里不要用mapFrom,因为event.pos直接返回的就是相对于label左上角的qDebug()<<"onMouse event->pos() :"<<event->pos(); //直接返回相对于label左上角坐标qDebug()<<"onMouse mapFrom pos :"<<pos;
}
void MainWindow::mousePressEvent(QMouseEvent* event) {qDebug() << "mousePressEvent  event->pos :"<<event->pos(); //相对于窗口的左上角QPoint pos = ui->label->mapFrom(this, event->pos());qDebug() << "mousePressEvent mapFrom pos :"<<pos;//mapFrom将窗口左上角坐标转为相对于label左上角qDebug() << "mousePressEvent event->globalpos :"<<event->globalPos(); //显示屏窗口左上角}

globalPos是相对于 显示屏屏幕左上角的位置 ,注意是相对于显示屏屏幕


最后发现  

mousePressEvent 和  eventFilter 里 event.pos 不一样,一定要注意

event.pos 在eventFilter里 直接返回相对于label左上角的坐标,就不要再mapFrom

FR:徐海涛(hunkxu)

http://www.dtcms.com/wzjs/287757.html

相关文章:

  • 怎样做网站banner世界十大网站排名出炉
  • 天津招投标 天津建设工程信息网青岛seo网站排名
  • php如何做局域网的网站市场营销计划书模板
  • WordPress开启measo具体优化
  • 苏州网站建设方案策划网络广告营销典型案例
  • WordPress模板tob支付软件seo运营专员
  • Wordpress怎么做导航页seo学习网站
  • 慧聪网怎样做网站友情链接百度外链查询工具
  • 聚合页面网站什么时候做防疫优化措施
  • 网站宽度网站seo排名优化方法
  • 源码分享网站月入过万百度指数 移民
  • 北京网站软件制作舆情优化公司
  • 兼职开发网站开发seo培训学校
  • 商务网站营销推广方式淘宝权重查询
  • 天津低价做网站免费网站建站
  • 零基础源码建设网站免费的精准引流软件
  • 建设一个网站需要多久宁波seo营销
  • 网站推广软件价格东莞seo外包
  • 网站的设计站长之家素材
  • 网站建设需要哪些软件seo教程书籍
  • 青浦徐泾网站建设兰州seo技术优化排名公司
  • 广州做大型网站建设百度客户服务电话是多少
  • 在线做c语言题目的网站百度小说搜索热度排行榜
  • 服装外贸平台有哪些安卓aso优化排名
  • 用php做一网站建站平台哪个好
  • 互联网网站建设潍坊百度网站排名
  • 昆明做网站多少钱网站怎么优化推荐
  • 北京市城乡建设委员会官方网站一个完整的策划案范文
  • 可以做动态影集的网站百度一级代理商
  • 本地的佛山网站建设真正免费的网站建站平台有哪些