C ++ / Qt: рисование каретки - PullRequest
5 голосов
/ 20 марта 2009

Я учу Qt. Я только начал писать текстовый редактор с нуля, унаследовав QAbstractScrollArea. Я делаю это только для практики. Но сейчас я столкнулся с проблемой показа кареты. Что приходит мне в голову, это painter.drawLine и QTimer. Можете ли вы дать несколько советов по этому вопросу. Я также был бы рад услышать некоторые стратегии для реализации блока и подчеркивания карет.

Оффтопик: это ошибка? StackOverflow говорит, что есть два ответа на этот вопрос, но я вижу только один!

1 Ответ

6 голосов
/ 20 марта 2009

Взгляните на paintEvent () в QLineEdit . Он имеет таймер, который включает и выключает курсор. Реальное рисование курсора выполняется с помощью QTextLayout :: drawCursor .

Для текстового редактора в общем, посмотрите на QPlainTextEdit и QTextEdit .

...