crossplatform.ru

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

> QTextEdit, маркер
breeve
  опции профиля:
сообщение 2.4.2011, 23:07
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Подскажите, как можно сделать маркер в тексте. Для примера на этом сайте, если в поиск вбить фразу, то он выделит в постах те слова которые я вбил: желтый фон, красный текст.
Нашел как можно покрасить текст, во всем TextEdit'е но как покрасить определенные слова?
И как сделать так что после установки маркера например на два слова, сделать так чтобы нажав правой только на эти слова в контекстном меню был Action убрать выделение? Заранее благодарен
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
breeve
  опции профиля:
сообщение 4.4.2011, 18:50
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Цитата
Что именно не так?

Выделяет не то что надо. Причем только в этом случае(если текст одинаковый и выделять именно так - с одного слова на другое) неправильно.Пример на видео. Код:
void MarkedTextEdit::markSelectedText(bool mark)
{
    QString select = this->textCursor().selectedText();
    int cursorPos = this->textCursor().position();
    int sEnd = this->textCursor().selectionEnd();
    QTextCursor tx = this->textCursor();
    tx.setPosition(sEnd);
    this->setTextCursor(tx);
    qDebug() << select << this->textCursor().position();

    if(this->find(select, QTextDocument::FindBackward))
    {
        if(mark)
            this->setTextBackgroundColor(Qt::yellow);
        else
            this->setTextBackgroundColor(Qt::white);
    }
    tx.setPosition(cursorPos);
    this->setTextCursor(tx);
}


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 12:06