Hi experts,
I code a TabletCanvas inherited from QGraphicsView, and overwrite contextMenuEvent() to bring the item to front in the scene.
However, right click on TabletCanvas cant invokes contextMenuEvent(),
even I disable all mouse events.
Can you tell me what's wrong with it ? Thank your review and answer.
..
TabletCanvas()
{
zorderAct
= new QAction(tr
("bring to front"),
this);
connect(zorderAct, SIGNAL(triggered()), this, SLOT(itemZorder()));
addAction(zorderAct);
}
{
menu.addAction(zorderAct);
menu.exec(event->screenPos());
}
//virtual void mouseMoveEvent(QMouseEvent *event);
//virtual void mousePressEvent(QMouseEvent *event);
//virtual void mouseReleaseEvent(QMouseEvent *event);
//virtual void mouseDoubleClickEvent(QMouseEvent *event);
};
class TabletCanvas : public QGraphicsView {
..
TabletCanvas()
{
zorderAct= new QAction(tr("bring to front"), this);
connect(zorderAct, SIGNAL(triggered()), this, SLOT(itemZorder()));
addAction(zorderAct);
}
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
{
QMenu menu(this);
menu.addAction(zorderAct);
menu.exec(event->screenPos());
}
//virtual void mouseMoveEvent(QMouseEvent *event);
//virtual void mousePressEvent(QMouseEvent *event);
//virtual void mouseReleaseEvent(QMouseEvent *event);
//virtual void mouseDoubleClickEvent(QMouseEvent *event);
};
To copy to clipboard, switch view to plain text mode
Bookmarks