C ++ / Qt: Zeichnen eines caret
Frage
Ich lerne Qt. Ich habe gerade angefangen von Vererbungs QAbstractScrollArea einen Texteditor von Grund auf neu zu schreiben. Ich tue dies nur für die Praxis. Aber jetzt bin ich mit dem Problem der Anzeige eines caret konfrontiert. Was mir in den Sinn kommt, ist painter.drawLine
und QTimer
. Können Sie einige Ratschläge zu diesem Thema geben. Ich würde auch mich freuen, einige Strategien hören Block zu implementieren und unterstreichen caret.
Off Topic: Ist das ein Fehler? Stackoverflow sagt, es gibt zwei Antworten auf diese Frage, aber ich sehe nur ein!
Lösung
Nehmen Sie bei einem Blick auf paintEventO () in QLineEdit . Es hat einen Timer, der den Cursor auf und aus. Die wirkliche Cursor Zeichnung wird über QTextLayout :: drawCursor .
Für einen Texteditor in der Regel einen Blick auf QPlainTextEdit und QTextEdit .