ボタンをクリックして、選択したテキストをQTextEditでフォーマットしたい。たとえば、太字でない場合は太字にし、太字の場合は太字にしないようにします。例を教えてください。
編集:
実際、私はすでにコードを見つけました-私が必要なことをするテキストエディタのqtデモ:
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つだけ説明してください。ありがとう。