crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QPlainTextEdit подсветка строки
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
qt_user Дата 1.12.2012, 9:52
  Хорошо, спасибо.
mezmay, я кстати вчера еще один способ придумал, тоже работает. Если интересно скину код.
Вчера сил не было уже писать просто) Поэтому не отписался...
mezmay Дата 30.11.2012, 23:13
  Исправляюсь, надо использовать не NextRow, a Down:

ui.plainTextEdit->moveCursor(QTextCursor::Down);

Проверил, работает.

p.s. А NextRow нужен для перемещения по таблицам
p.p.s. И если перемещение делается, например, по нажатию кнопки, то надо не забыть вернуть фокус текст эдиту (если надо чтобы отображался курсор)
qt_user Дата 30.11.2012, 19:24
  нее, не прокатил. Спасибо конеш.
selection.cursor.movePosition(QTextCursor::NextRow, QTextCursor::MoveAnchor, 5);
не пашет. Вопрос темы в силе.
mezmay Дата 29.11.2012, 19:43
 
bool movePosition ( MoveOperation operation, MoveMode mode = MoveAnchor, int n = 1 )


под рукой нет среды разработки, но думаю что использовать так:
plaintTextEdit.movePosition(QTextCursor::NextRow, QTextCursor::MoveAnchor, n);

n - количество строк, которое надо пройти
qt_user Дата 29.11.2012, 17:51
  блин , вот проблема теперь)
qt_user Дата 28.11.2012, 17:27
  хотел бы уточнить каким методом в классе QTextCursor курсор устанавливается в N строку ?
setVerticalMovementX?
qt_user Дата 26.11.2012, 18:54
  спасибо, попробую. Отпишусь...
RazrFalcon Дата 25.11.2012, 0:19
 
void PlainTextEdit::highlightCurrentLine()
{
    QList<QTextEdit::ExtraSelection> extraSelections;

    if (!isReadOnly()) {
        QTextEdit::ExtraSelection selection;

        QPalette pal;
        QColor lineColor = pal.color(QPalette::Base).lighter(160);

        selection.format.setBackground(lineColor);
        selection.format.setProperty(QTextFormat::FullWidthSelection, true);
        selection.cursor = textCursor();
        selection.cursor.clearSelection();
        extraSelections.append(selection);
    }

    setExtraSelections(extraSelections);
}

ну а сюда уже можно подключить нужную строку и тд
Trisch Дата 24.11.2012, 23:02
  Предположительно, копать надо в сторону QSyntaxHighlighter.
qt_user Дата 24.11.2012, 18:18
  Здравствуйте! Нужно сделать следующее:
1) Есть QPlainTextEdit
2) В QPlainTextEdit есть текст на 20 строк
3) Я нажимаю на кнопку А и происходит подсветка строки 10
4) Я нажимаю на кнопку Б и происходит подсветка строки 15
5) Также происходит автофокусировка, то есть вертикальный скролл тоже должен реагировать и фокус перемещать.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 20.4.2024, 3:00