#include <QtGui>
{
public:
{
view->viewport()->installEventFilter(this);
// this is not actually even needed, QGraphicsView
// already sets the mouse tracking on on it's viewport
view->viewport()->setMouseTracking(true);
setCentralWidget(view);
}
{
if (event
->type
() == QEvent::MouseMove) {
QPointF pos
= view
->mapToScene
(mouse
->pos
());
statusBar
()->showMessage
(QString("(%1,%2)").
arg(pos.
x()).
arg(pos.
y()));
}
return false;
}
private:
};
int main(int argc, char* argv[])
{
MainWindow w;
w.show();
return app.exec();
}
#include <QtGui>
class MainWindow : public QMainWindow
{
public:
MainWindow(QWidget* parent = 0) : QMainWindow(parent)
{
QGraphicsScene* scene = new QGraphicsScene;
QGraphicsItem* item = scene->addText("Item");
item->setFlag(QGraphicsItem::ItemIsMovable);
view = new QGraphicsView(scene);
view->viewport()->installEventFilter(this);
// this is not actually even needed, QGraphicsView
// already sets the mouse tracking on on it's viewport
view->viewport()->setMouseTracking(true);
setCentralWidget(view);
}
bool eventFilter(QObject* object, QEvent* event)
{
if (event->type() == QEvent::MouseMove)
{
QMouseEvent* mouse = static_cast<QMouseEvent*>(event);
QPointF pos = view->mapToScene(mouse->pos());
statusBar()->showMessage(QString("(%1,%2)").arg(pos.x()).arg(pos.y()));
}
return false;
}
private:
QGraphicsView* view;
};
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
MainWindow w;
w.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks