T1v1
T1v1

Reputation: 37

How to output words above text in QTextEdit

I have a structure with two members: word:string and pos:int (part of speech).

And I want to output words with their pos above in QTextEdit like this

enter image description here

Is this even possible or it's easier to make colorful font and background with SyntaxHighlighter?

Upvotes: 2

Views: 106

Answers (1)

you can set the text as 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>");

output:

enter image description here

Upvotes: 2

Related Questions