【发布时间】:2016-05-12 01:33:06
【问题描述】:
这两个事件在裸 mainWindow 上都可以正常工作,但是当我按下位于 mainWindow 内的 graphicsView 时,只有 mousePressEvent 响应。
有人可以澄清这个问题吗?
UPD:这是代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "mydialog.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
pix = new QPixmap("/Users/mac/Pictures/wallpaper/Rocks.jpg");
scene->addPixmap(*pix);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::mousePressEvent(QMouseEvent *e)
{
sel_reg_beg_x = e->x();
sel_reg_beg_y = e->y();
qDebug() << "inside press";
}
void MainWindow::mouseMoveEvent(QMouseEvent *e)
{
qDebug() << "inside move";
sel_reg_end_x = e->x();
sel_reg_end_y = e->y();
this->update();
}
【问题讨论】:
-
是的,它已在 UI 中启用
-
试试
setMouseTracking(true)。
标签: c++ qt user-interface qgraphicsview