找回密码
 立即注册
收起左侧

为何graphicsview里面,用pos函数,y轴正常,x轴总是返回0?

3
回复
5977
查看
[复制链接]

尚未签到

来源: 2017-4-28 21:04:14 显示全部楼层 |阅读模式
1Qter豆

为何graphicsview里面,用QMouseEvent的pos函数,y轴正常,x轴总是返回0?我是在MainWindow的构造函数里面,给GraphicsScene安装了时间过滤器,然后在MainWindow里面进行的

回复

使用道具 举报

尚未签到

2017-4-28 22:35:37 显示全部楼层
相关代码如下,ui界面就一个graphicsview
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include "QGraphicsView"
  4. #include <QMouseEvent>
  5. #include <qdebug.h>
  6. MainWindow::MainWindow(QWidget *parent) :
  7.     QMainWindow(parent),
  8.     ui(new Ui::MainWindow)
  9. {
  10.     ui->setupUi(this);
  11.     QGraphicsScene* w1=new QGraphicsScene;
  12.     w1->setSceneRect(0,0,200,200);
  13.     w1->addLine(0,0,10,10);
  14.     w1->installEventFilter(this);
  15.     ui->graphicsView->setScene(w1);
  16. }
  17. bool MainWindow::eventFilter(QObject *obj,QEvent *e1){
  18.     if(obj==ui->graphicsView->scene()){
  19.         if(e1->type()==QEvent::GraphicsSceneMousePress){
  20.             QMouseEvent *e = static_cast<QMouseEvent *>(e1);
  21.             qDebug()<<e->pos();
  22.         }
  23.     }
  24. }

  25. MainWindow::~MainWindow()
  26. {
  27.     delete ui;
  28. }
复制代码
回复

使用道具 举报

累计签到:14 天
连续签到:1 天
2017-5-2 15:13:16 显示全部楼层
mapto系列函数进行坐标转换
回复

使用道具 举报

尚未签到

2017-5-2 18:42:52 显示全部楼层
get到的QPointF恒为(0,0),再怎么转换也没用吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了