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

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);
    }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值