mouseDoubleClickEvent für GraphicsTextItem

Alles rund um die Programmierung mit Qt
Antworten
Tuvshin
Beiträge: 14
Registriert: 4. März 2009 09:13

mouseDoubleClickEvent für GraphicsTextItem

Beitrag 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);
    }   
}
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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); 
Tuvshin
Beiträge: 14
Registriert: 4. März 2009 09:13

Beitrag 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.
Antworten