Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apply stylesheet to HTML content in QTextEdit

I have a QTextEdit where I do display some HTML. Could I apply a stylesheet to that very HTML content?

Do not confuse it with applying a Qt stylesheet to the QTextEdit (that I know). I want to change the appearance of what is in the QTextEdit widget ("HTML").

--- edit ----

Related: Default HTML style for controls in the Qt library

like image 394
Horst Walter Avatar asked Mar 10 '15 23:03

Horst Walter


2 Answers

You can have a look at Qt ignores CSS in QTextDocument which uses QTextDocument and the defaultStyleSheet property / setDefaultStyleSheet() http://doc.qt.io/qt-5/qtextdocument.html#defaultStyleSheet-prop

Note that QTextEdit only supports the following html subset http://doc.qt.io/qt-5/richtext-html-subset.html if you want to do more then that you are probably best of using the QWebkit or QWebEngine modules depending on which Qt version your targeting.

like image 83
simotek Avatar answered Nov 09 '22 10:11

simotek


As per Qt5, many CSS properties are supported:

The following table lists the CSS properties supported by Qt's rich text engine.

The best way to apply them is to start your document with <style> and use classes. However the <node style=""> attribute also works.

like image 26
Tomáš Zato - Reinstate Monica Avatar answered Nov 09 '22 09:11

Tomáš Zato - Reinstate Monica