QTextEdit由QTextDocument作为载体,光标QTextCursor类提供了对QTextDocument文档的修改接口,所有对文档格式的修改都与光标有关
1. 设置字体
QTextCharFormat textCharFormat;
textCharFormat.setFontFamily("字体名称"); //选择的字体名称设置给QTextCharFormat对象
QTextCursor textCursor = textEdit->textCursor(); //获得编辑框中的光标
if(!textCursor.hasSelection()) //若光标没有高亮选区,则将光标所在处的词作为选区,由前后空格或",""."等标点符号区分词
{
textCursor.select(QTextCursor::WordUnderCursor);
}
textCursor.mergeCharFormat(textCharFormat); //将参数format所表示的格式应用到光标所在处的字符上
textEdit->mergeCurrentCharFormat(textCharFormat); //将格式应用到选区内的所有字符上
2. 设置字号
QTextCharFormat textCharFormat;
textCharFormat.setFontPointSize(11);
textEdit->mergeCurrentCharFormat(textCharFormat);
3. 设置文字加粗
QTextCharFormat textCharFormat;
textCharFormat.setFontWeight(QFont::Bold);
textEdit->mergeCurrentCharFormat(textCharFormat);
4. 设置文字斜体
QTextCharFormat textCharFormat;
textCharFormat.setFontItalic(true);
textEdit->mergeCurrentCharFormat(textCharFormat);
5. 设置文字加下划线
QTextCharFormat textCharFormat;
textCharFormat.setFontUnderline(true);
textEdit->mergeCurrentCharFormat(textCharFormat);
6. 设置文字颜色
QTextCharFormat textCharFormat;
textCharFormat.setForeground(Qt::red);
textEdit->mergeCurrentCharFormat(textCharFormat);