Seite 1 von 1

mouseDoubleClickEvent für GraphicsTextItem

Verfasst: 13. April 2009 21:36
von Tuvshin
Ich habe ein Problem mit QGraphicsTextItem. Ich habe mouseDoubleClickEvent für die TextEditorInteraction geschrieben, damit man nach Doublclick sofort die Texteditor verwenden kann. Aber es geht nicht so wie ich will. Man kann nicht nach Doubleclick in Texteditor was schreiben. Dazu soll man noch mal Click benötigen. Ich weiss nicht warum? Hat jemand Tipp geben?
Hier ist Code:

Code: Alles auswählen

void DiagramTextItem::focusOutEvent(QFocusEvent *event)
{
    setTextInteractionFlags(Qt::NoTextInteraction);
    this->setCursor(Qt::ArrowCursor);
    QGraphicsTextItem::focusOutEvent(event);
}


void DiagramTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
{
    QGraphicsTextItem::mouseDoubleClickEvent(event);


    if (textInteractionFlags() == Qt::NoTextInteraction)
    {

        setTextInteractionFlags(Qt::TextEditorInteraction);
        
        this->setCursor(Qt::IBeamCursor);
        QTextCursor cursor = this->textCursor();
        cursor.clearSelection();
        this->setTextCursor(cursor);
    }   
}

Verfasst: 13. April 2009 22:43
von upsala
Im Qt-Example 'Diagram Scene' funktioniert es auch nicht so, wie du es dir vorstellst. Schon mal versucht manuell noch mal einen MouseClick auszuführen?

Code: Alles auswählen

QGraphicsTextItem::mousePressEvent(event); 
QGraphicsTextItem::mouseReleaseEvent(event); 

Verfasst: 14. April 2009 00:37
von Tuvshin
upsala hat geschrieben:Im Qt-Example 'Diagram Scene' funktioniert es auch nicht so, wie du es dir vorstellst. Schon mal versucht manuell noch mal einen MouseClick auszuführen?

Code: Alles auswählen

QGraphicsTextItem::mousePressEvent(event); 
QGraphicsTextItem::mouseReleaseEvent(event); 
Hi Upsala!
Ja ich habe die alle probiert. Einen Mousclick ist für Ziehen des Items bestimmt. Ich will nur das Document des Items zu aktive umschalten, wie das neue editierbare TextItem in Scene kommt.