Название: Подсветка текста в QTextEdit Отправлено: Ka3a4oK от Май 01, 2008, 20:25 С помощью функции setPlainText загружаю документ в QTextEdit. Документ представляет собой обычный текст разбитый на строки, примерно одинаковой длины. Мне необходимо подсветить(изменить цвет фона) текста определенной длины в определенной позиции. Позиция текста определяется относительно начала документа. Длина подсвечиваемого текста может быть любая. Как это сделать наиболее правильно?
Название: Re: Подсветка текста в QTextEdit Отправлено: Mikhail от Май 01, 2008, 20:38 С помощью функции setPlainText загружаю документ в QTextEdit. Документ представляет собой обычный текст разбитый на строки, примерно одинаковой длины. Мне необходимо подсветить(изменить цвет фона) текста определенной длины в определенной позиции. Позиция текста определяется относительно начала документа. Длина подсвечиваемого текста может быть любая. Как это сделать наиболее правильно? Наследуй от QTextEdit и в наследнике переопредели paintEvent. Примерно так: void TextEdit::paintEvent ( QPaintEvent * event ) { QPainter painter( viewport() ); if ( CurrentLineVisible && CurrentLineColor.isValid() ) { QRect r = cursorRect(); r.setX( 0 ); r.setWidth( viewport()->width() ); painter.fillRect( r, QBrush( CurrentLineColor )); } QTextEdit::paintEvent( event ); } Надо поиграть с QRect r |