QGraphicsSceneMouseEvent* EventSender::createGraphicsSceneMouseEvent(QEvent::Type type, const QPoint& pos, const QPoint& screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) { QGraphicsSceneMouseEvent* event; event = new QGraphicsSceneMouseEvent(type); event->setPos(pos); event->setScreenPos(screenPos); event->setButton(button); event->setButtons(buttons); event->setModifiers(modifiers); return event; }
bool CustomEdit::startSelection(const QPointF &hitPoint) { QPointF startSelectionPoint = startPoint(hitPoint); //fake double click to activate selection on text edit QGraphicsSceneMouseEvent event; event.setPos(startSelectionPoint); event.setButton(Qt::LeftButton); mousePressEvent(&event); event.setPos(startSelectionPoint); mouseReleaseEvent(&event); event.setPos(startSelectionPoint); mousePressEvent(&event); event.setPos(startSelectionPoint); mouseReleaseEvent(&event); return hasSelectedText(); }