0
這兩個事件在裸露的mainWindow上都能正常工作,但是當我按下graphicsView內部時,放置在mainWindow內部,只有mousePressEvent正在響應。 mousePressEvent正在工作,但mouseMoveEvent不是
有沒有人可以澄清這個問題?
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();
}
不能肯定說沒有看到的來源,但你在小部件使鼠標跟蹤?否則,默認情況下,只有當鼠標按鈕被按下時,mouseMoveEvent纔會被觸發。 – MrEricSir
yes在UI中啓用 –
嘗試'setMouseTracking(true)'。 – hank