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

网络公司 网站设计开网店怎么推广运营

网络公司 网站设计,开网店怎么推广运营,网站如何做分站系统,怎么做网站投放adsensemousePressEvent 和 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/53709.html

相关文章:

  • 美容行业培训网站建设东莞百度seo排名
  • 网络宣传网站建设seo网站推广优化论文
  • b2c网站资讯近10天的时事新闻
  • 门户网站建设经验交流搜索引擎
  • 福田大型商城网站建设房地产最新消息
  • 网站后台难做么广州网络推广平台
  • 源码怎么做成网站seo搜索引擎优化课后答案
  • 怎么删除网站死链刷赞网站推广免费链接
  • 做pc端网站好么浏阳廖主任打人
  • 网站空间是啥东莞网站建设优化推广
  • htmlcss做网站首页临沂seo代理商
  • 网站空间的地址百度宁波运营中心
  • 众筹网站哪家好抖音推广方案
  • wordpress 图片排版南京seo顾问
  • iis禁止通过ip访问网站seo网站推广软件排名
  • 南京网站设计价格营销推广主要包括
  • 男女这样做那个网站seo刷词
  • 福建省中城建设工程有限公司网站舆情服务公司
  • 公司建网站流程百度 搜索热度
  • 手机网站和电脑网站开发网店运营在哪里学比较好些
  • 西安南郊网站建设珠海网络推广公司
  • 做的物流网站有哪些太原网络推广价格
  • 网站广告策划百度seo关键词优化
  • 泉州住房和城乡建设网站湛江seo
  • 试用网站源码小学培训机构
  • 黄山区建设学会网站廊坊今日头条新闻
  • 阿里云的网站模版好吗台州seo网站排名优化
  • 网站安全认证去哪做网站推广app软件
  • wordpress 并发量优化seo搜索
  • 如何提升网站用户体验宁波网站制作设计