QTextCharFormat介绍:
QTextCharFormat类提供了QTextDocument中字符的格式化信息。 文档中文本的字符格式指定文本的可视属性,以及关于其在超文本文档中的角色的信息。 可以通过向setFont()函数提供字体来设置所使用的字体,并且可以调整其外观的各个方面以获得所需的效果。setFontFamily()和setFontPointSize()定义字体的族(例如时间)和打印大小;setFontWeight()和setFontItalic()提供对字体样式的控制。setFontUnderline()、setFontOverline()、setFontStrikeOut()和setFontFixedPitch()为文本提供额外的效果。
1.设置字体
fontlabel1
= new QLabel("字体");
fontcombobox
= new QFontComboBox
;
fontcombobox
->setFontFilters(QFontComboBox
::ScalableFonts
);
QTextCharFormat fmt
;
fmt
.setFontFamily(combostr
);
QTextCursor cursor
= ui
->text
->textCursor();
if(!cursor
.hasSelection())
cursor
.select(QTextCursor
::WordUnderCursor
);
cursor
.mergeBlockCharFormat(fmt
);
ui
->text
->mergeCurrentCharFormat(fmt
);
2.设置字号
QTextCharFormat fmt
;
fmt
.setFontPointSize(spinvalue
.toFloat());
ui
->text
->mergeCurrentCharFormat(fmt
);
3.设置加粗
QTextCharFormat fmt
;
fmt
.setFontWeight(boldBtn
->isChecked()?QFont
::bold():QFont
::Normal
);
ui
->text
->mergeCurrentCharFormat(fmt
);
4.设置倾斜
QTextCharFormat fmt
;
fmt
.setFontItalic(italicBtn
->isChecked());
ui
->text
->mergeCurrentCharFormat(fmt
);
5.设置下划线
QTextCharFormat fmt
;
fmt
.setFontUnderline(underlineBtn
->isChecked());
ui
->text
->mergeCurrentCharFormat(fmt
);
6.设置颜色
QColor color
= QColorDialog
::getColor(Qt
::red
,this);
if(color
.isValid())
{
QTextCharFormat fmt
;
fmt
.setForeground(color
);
ui
->text
->mergeCurrentCharFormat(fmt
);
}