Beispiel #1
0
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();
}