QTextCharFormat:设置文本编辑框字体,字号,加粗,倾斜,下划线,颜色

tech2024-02-18  84

QTextCharFormat介绍:

QTextCharFormat类提供了QTextDocument中字符的格式化信息。 文档中文本的字符格式指定文本的可视属性,以及关于其在超文本文档中的角色的信息。 可以通过向setFont()函数提供字体来设置所使用的字体,并且可以调整其外观的各个方面以获得所需的效果。setFontFamily()和setFontPointSize()定义字体的族(例如时间)和打印大小;setFontWeight()和setFontItalic()提供对字体样式的控制。setFontUnderline()、setFontOverline()、setFontStrikeOut()和setFontFixedPitch()为文本提供额外的效果。

1.设置字体

fontlabel1 = new QLabel("字体"); fontcombobox = new QFontComboBox; fontcombobox->setFontFilters(QFontComboBox::ScalableFonts); //列出所有字体 //创建一个QTextCharFormat类实例 QTextCharFormat fmt; //设置用户选择的字体族 fmt.setFontFamily(combostr); //获取text中的光标 QTextCursor cursor = ui->text->textCursor(); //如果光标没有选择高亮 if(!cursor.hasSelection()) //选择光标下的字,以空格,“,”,“.”标点符号分隔 cursor.select(QTextCursor::WordUnderCursor); //修改当前块的格式 cursor.mergeBlockCharFormat(fmt); //通过tet上的光标调用函数将修饰符中指定属性合并为当前字符格式 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); }
最新回复(0)