我有一個停靠的QTextEdit,我正在使用它來模擬QT C++ gui中的調試終端,並將它設置爲帶有白色文本的黑色背景。插入到QTextEdit中的HTML不符合樣式表
我想用它來從QXmlSchemaValidator
打印出錯誤消息,但是從架構驗證的消息以HTML格式,每當我將它們插入到QTextEdit
,它會恢復到它的默認字體,我結束了與在黑背景的黑文本。
實際的消息是這樣的:
<html xmlns='http://www.w3.org/1999/xhtml/'>
<body>
<p>Content of element
<span class='XQuery-keyword'>minValue</span> does not match its type definition: <span class='XQuery-data'>fu</span> is not valid according to <span class='XQuery-type'>xs:decimal</span>..
</p>
</body>
</html>
使用setAcceptRichText(false)
沒有解決不了的問題,如果我用insertPlainText()
添加文本到lineEdit
,它會刪除所有的換行和離開html標籤在錯誤信息中,這是不可接受的。
有什麼方法可以顯示HTML富文本,但不會吹走我的樣式表字體?
添加一些HTML代碼到你的信息做你的文白(字體顏色,BASEFONT標記在這種情況下最好的,但我不相信Qt的支持的話)或者這是不是對你很好的解決方案? – Chernobyl 2014-10-06 19:54:08
我實際上沒有寫html消息,它是QAbstractMessageHandler類的輸出。我真的*不希望解析html來插入標籤,除非必須。 – 2014-10-06 19:57:39
好的,然後嘗試下一件事:(我不測試它):在你設置你的html調用selectAll();並在此之後調用setTextColor(Qt :: White);它工作嗎? – Chernobyl 2014-10-06 20:05:44