Я создаю простой текстовый редактор в Qt.
Я могу редактировать выделенный текст и делать его, например, жирным шрифтом или подчеркиванием или и тем, и другим.Проблема в том, что выделенный текст частично полужирный, обычный или другой.Таким образом, единственный способ сделать это хорошо - взять выделенный текст и отредактировать его символ за символом (если он уже написан курсивом и я тоже хочу выделить его жирным шрифтом, символ должен быть и тем и другим).
Это частьмой код, в котором я могу изменить выделенный текст жирным шрифтом:
QFont font;
QTextCursor cursor = ui->textEdit->textCursor();
QTextCharFormat format;
if(cursor.hasSelection()){
font = cursor.charFormat().font();
if(!cursor.charFormat().font().bold()){
font.setBold(true);
format.setFont(font);
cursor.setCharFormat(format);
}
else{
font.setBold(false);
format.setFont(font);
cursor.setCharFormat(format);
}
ui->textEdit->setTextCursor(cursor);
Функция курсива идентична.Это не будет работать с уже отредактированным текстом.
Пример:
rand omt ext
Теперь я хочу выделить часть текстатакие как: "ndomte" и сделать все это жирным шрифтом.Мой результат:
ra ndomte xt
Что я хочу:
randomt e xt
Как мне это сделать?