如何在QTextEdit中的文本上方输出单词

时间:2019-04-17 13:10:22

标签: c++ qt part-of-speech

我有一个具有两个成员的结构word:string和pos:int(词性)。

我想像这样在words中以上面的pos输出QTextEdit

enter image description here

使用SyntaxHighlighter制作彩色字体和背景还是更容易?

1 个答案:

答案 0 :(得分:2)

您可以将文本设置为html:

QString pos = "Hello. p .v.";
QString word = "word";

ui->textEdit->setHtml("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">"
                     "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">"
                     "p, li { white-space: pre-wrap; }"
                     "</style></head><body style=\" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;\">"
                     "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic; color:#888a85;\">" + pos + ". </span></p>"
                     "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:14pt; font-weight:600; color:#2e3436;\">" + word + "</span></p></body></html>");

输出:

enter image description here