Я хочу отформатировать выделенный текст в QTextEdit, нажав кнопку. Для примера я хочу сделать его жирным, если он не жирный, или не жирным, если он жирный. Пожалуйста, помогите мне с примером.
EDIT:
На самом деле я уже нашел код - qt demo для текстового редактора, который делает то, что мне нужно:
void
MyTextEdit::boldText(bool isBold) //this is the SLOT for the button trigger(bool)
{
QTextCharFormat fmt;
fmt.setFontWeight(isBold ? QFont::Bold : QFont::Normal);
mergeFormatOnWordOrSelection(fmt);
}
void
MyTextEdit::mergeFormatOnWordOrSelection(const QTextCharFormat &format)
{
QTextCursor cursor = m_textEdit->textCursor();
if (!cursor.hasSelection())
cursor.select(QTextCursor::WordUnderCursor);
cursor.mergeCharFormat(format);
m_textEdit->mergeCurrentCharFormat(format);
}
Но я не могу понять, что возвращает метод textCursor () , и как происходит слияние свойств? Просто некоторые форматы меняются, некоторые остаются неизменными. Как функция mergeCharFormat понимает, что изменить, а что оставить как есть. Пожалуйста, объясните мне только эти 2 вещи.
Спасибо.