2009-03-20 19 views
4

私はQtを学んでいます。 QAbstractScrollAreaを継承してテキストエディタを最初から作成し始めました。私はこれを練習のためだけにやっています。しかし今、私はキャレットを表示するという問題に直面しています。私の頭に浮かぶのはpainter.drawLineQTimerです。あなたはこれに関するいくつかのアドバイスをすることができますか?私はブロックとアンダースコアのキャレットを実装するためのいくつかの戦略を聞いてうれしいです。C++/Qt:キャレットを描く

オフトピック:これはバグですか? StackOverflowは、この質問には2つの回答があると言いますが、私は1つのみを見ています!

+0

私もそのバグに気付きました。私のプロフィールページには誰かが答えたとか、それを掲示したユーザ名を与えても言うだろうが、実際に数日間は実際の回答は見られない!私は本当になぜそれが知りたいですか... – Toji

答えて

5

QLineEditのpaintEvent()を見てください。これは、カーソルのオンとオフを切り替えるタイマーを備えています。実際のカーソル描画はQTextLayout::drawCursorで行います。

一般的なテキストエディタについては、QPlainTextEditQTextEditをご覧ください。