5

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

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

4

1 に答える 1

7

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

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

于 2009-03-20T11:41:48.357 に答える