[英]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.