富文本 QTextDocument 解析及相关

QTextDocument 富文本

    QTextDocument textDoc;
    textDoc.setIndentWidth(20);		// 缩进
    textDoc.setHtml(text->htmlText());	// 文本

QTextBlock 文本块(段落)

文本块由 QTextBlock 类提供。

文本块可以将具有不同字符样式的文本分组,用于表示文档段落。典型的文本块具有若干个不同样式的文本片段。

QTextFragment 文本片段(格式相同的文本字段)

    QTextBlock block = textDoc.firstBlock();
    QVector<QTextFormat> allFormats = textDoc.allFormats();
    while(block.isValid()) {
       	QTextBlockFormat blockFmt = block.blockFormat();
     	QTextList* textList = block.textList();
     	if(textList)
	     QTextListFormat listFmt = allFormats[textList->formatIndex()].toListFormat();
     }
     for(QTextBlock::iterator it = block.begin(); !it.atEnd(); it++)
     {
        QTextFragment fragment = it.fragment();
        QTextCharFormat charFmt = fragment.charFormat();
		// 字体样式
		charFmt.fontFamily();
		charFmt.fontPointSize();
		charFmt.fontItalic();
		charFmt.fontUnderline();
		charFmt.foreground().color();
 		charFmt.background().color();
		charFmt.verticalAlignment();
		// 文字内容 
		QString textStr = fragment.text();
     } 
     block = block.next(); 
}

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值