QTextEdit检查它是否为粗体

时间:2014-05-29 17:56:31

标签: qt qtextedit

我有一个粗体按钮,选中后可以设置文本并使其变为粗体,如下所示:

QTextCursor cursor = this->ui->editNotes->textCursor();
QTextCharFormat format;
format.setFontWeight(QFont::Bold);
cursor.mergeCharFormat(format);

问题是如何按下相同的粗体按钮并检查所选文本是否为粗体? 因此,如果它已经大胆我将从相同的选择中删除粗体。 我是否必须解析HTML代码?例如,如果我查看我将html数据加粗的文本是:

<span style=" font-family:'Arial,Helvetica'; font-size:14px; font-weight:600;    color:#313131;">functions</span>

是否有一种更简单的方法然后解析文本所包含的属性来检查字体权重?或者这是唯一的解决方案吗?

1 个答案:

答案 0 :(得分:1)

这是一个非常古老的问题,但我一个月前加入了这个网站,所以我不能早点回答。因此解决方案是使用font()bold()方法:

QTextCursor cursor = ui->textEdit_2->textCursor();
QTextCharFormat format;
if(!cursor.charFormat().font().bold())
{
    qDebug() << "not bold";
}
else
{
    qDebug() << "bold";
}