Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] поменять цвет фона текста в строке, QTextEdit 
:(
    Опции темы
anatox91
Дата 12.10.2011, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



нужно зная номер строки поменять цвет фона текста для определенной строки(т.е. как бы выделить определенную строку). Как это возможно сделать?


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
null56
Дата 12.10.2011, 16:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



не то?
Цитата

void QTextEdit::setExtraSelections ( const QList<ExtraSelection> & selections )

This function allows temporarily marking certain regions in the document with a given color, specified as selections. This can be useful for example in a programming editor to mark a whole line of text with a given background color to indicate the existence of a breakpoint.
This function was introduced in Qt 4.2.

PM MAIL   Вверх
math64
Дата 12.10.2011, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 23
Всего: 72



Посмотри пример Syntax Highlighter - там делается даже более сложное, чем вам нужно.
PM   Вверх
anatox91
Дата 12.10.2011, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



null56, именно то что нужно, спасибо

Добавлено через 3 минуты и 59 секунд
math64, там подсветка текста, а мне нужно подсветку фона строки

Добавлено через 14 минут и 3 секунды
появился тогда другой вопрос - как получить нужный курсор для использования, зная номер строки?


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
anatox91
Дата 12.10.2011, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



все, разобрался, слишком как-то много лишних действий надо делать как мне кажется
Код

int lineNumber = 0;
    QTextEdit::ExtraSelection selection;

    QTextCursor cursor = QTextCursor(ui->textEdit->document());
    cursor.movePosition(QTextCursor::Start);
    cursor.movePosition(QTextCursor::Down, QTextCursor::MoveAnchor, lineNumber);
    cursor.select(QTextCursor::LineUnderCursor);

    QTextCharFormat format;
    format.setBackground(Qt::red);

    selection.cursor = cursor;
    selection.format = format;
    ui->textEdit->setExtraSelections(QList<QTextEdit::ExtraSelection>() << selection);


если кто знает способ попроще очень хотелось бы взглянуть

Добавлено через 1 минуту и 9 секунд
плюс данный код выделяет только тут часть строки где есть текст, а есть ли какой-нибудь способ выделить всю отображаемую строку, даже там где нет никаких символов?

Добавлено через 3 минуты и 42 секунды
вот о чем я
http://clip2net.com/s/1eHcZ


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
anatox91
Дата 13.10.2011, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



так есть какой-нибудь способ выделить всю строку целиком, всю линию? точнее поменять у нее background


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.