繁体   English   中英

如果我将html与QTextEdit一起使用,则键入会很混乱

[英]Typing is messy if I use html with QTextEdit

我正在尝试更改单个字词的属性,例如字体和颜色。 QTextEdit允许我通过setHtml(htmlText)将文本设置为html,将QString设置为html后,输入变得混乱。 我不能输入空格,也不能按Enter。 有时单词会向后写。

void MainWindow::on_textEdit_textChanged()
{
    QString plainText = ui->textEdit->toPlainText();
    QString htmlText = "<font color='red'>" + plainText + "</font>";

    disconnect(ui->textEdit, SIGNAL(textChanged()), this, SLOT(on_textEdit_textChanged()));

    ui->textEdit->setHtml(htmlText);
    QTextCursor cursor(ui->textEdit->textCursor());
    cursor.movePosition(QTextCursor::EndOfWord);
    ui->textEdit->setTextCursor(cursor);

    connect(ui->textEdit, SIGNAL(textChanged()), this, SLOT(on_textEdit_textChanged()));
}

颜色设置正确,但输入不一致。 我不是html方面的专家。 有什么建议么。

HTML是文档语法树的传输表示形式。 你需要修改一个另一个,否则你会面临两个之间的相互作用的后果。 选择一个并坚持下去。

由于您正在使用QTextDocument接口,因此应该使用该接口进行所有更改。 这样就无需直接处理HTML。 要更改文本块的属性,请选择文本,然后通过游标API对其进行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM