[commonqt-devel] New QMouseEvent
Rujia Liu
rujia.liu at gmail.com
Tue Sep 17 07:21:06 UTC 2013
Hi!
How to create a manual QMouseEvent? I wanna do this because I want to
implement canvas dragging on midbutton. I'm referring to this code:
http://levelfour.googlecode.com/svn/branches/dev/app/gui/GraphicsView.cpp
It uses the following trick:
if (event->button() == Qt::MidButton) {
setDragMode(QGraphicsView::ScrollHandDrag);
// create a new mouse event that simulates a click of the left button
instead of the middle button
QMouseEvent mouseEvent (event->type(), event->pos(), Qt::LeftButton,
Qt::LeftButton, event->modifiers());
QGraphicsView::mousePressEvent(&mouseEvent);
}
That is, when midbutton is down, set the dragging mode and simulate a
leftbutton press. The mouse release handler is similar and is omitted here.
But when I tried in CommonQt I can only get "No applicable constructor
QMouseEvent found for arguments..."
Using "describe", I can see that the last two parameters should be
QFlags<>, which is a template class. However there are no setXXX methods,
so I cannot make changes to the current mouse event. Is there a workaround?
- Rujia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/commonqt-devel/attachments/20130917/89f5bbe8/attachment.html>
More information about the commonqt-devel
mailing list