QTextBrowser неправильно обрабатывает CSS

У меня проблемы с рендерингом HTML с помощью QTextBrowser. Он не обрабатывает некоторые свойства CSS, такие как высота tr, границы таблицы и т. д. Например,

Это не работает: <table style=' border: 1px solid black;'> Это не работает: <tr style='height: 10px'>

Приведенный выше код работает в Google Chrome 31.

Есть ли альтернатива для этого или есть какие-то хитрости для решения такого рода проблем? Использование QWebView может быть хорошим выбором, но оно не предоставляет метод append().

Не могли бы вы предложить мне что-нибудь?


person Didac Perez Parera    schedule 20.08.2013    source источник


Ответы (1)


QTextBrowser поддерживает только подмножество HTML и CSS.

Если вам нужна полная поддержка, используйте QWebView, вы можете эмулировать добавление примерно так:

QString html = webView->page()->currentFrame()->toHtml(); //or mainFrame()
html += "Something to append";
webView->setHtml(html);
person headsvk    schedule 21.08.2013
comment
Я попробую решение QWebView, но, как я предполагаю, производительность будет низкой при работе с большим HTML-кодом. - person Didac Perez Parera; 21.08.2013
comment
Если он медленный, попробуйте Qt5, есть новый движок Javascript Webkit и V8 от Google Chrome. - person headsvk; 09.09.2013