Название: Как заставить QTextBrowser читать значение атрибутов в величинах "pt" и "cm"? Отправлено: billy4685 от Декабрь 07, 2020, 14:13 Здравствуйте, господа форумчане.
Усовершенствую простой браузер на основе QTextBrowser. Взял html страницу полученную из документа расширения .doc с помощью Microssoft Office Word. Заметил, что QTextBrowser не читает отступы (text-indent), которые были видны в Firefox. Присмотревшись понял, что конвектор Microssoft Office Word для большинства атрибутов тегов в html проставил значения в величинах "pt" и "cm". К примеру: Код: <p class=MsoNormal style='text-indent:35.45pt'><a href="file4.htm">Регулярные выражения</a></p> Решил, нужно пробежаться по html странницам, и в тегах в атрибутах преобразовать величины значений "pt" и "cm" в "px". Сначала решил использовать для этого либо QDomElement или QXmlStreamReader и QXmlStreamWriter. Но снова не вышло(. В моих html страницах в тегах все значения атрибутов, кроме тех, что в "style" не были взяты в кавычки (" или ') - как к примеру: class=MsoNormal. Из-за этого документ не читался. Решил с помощью регулярных выражений взять в кавычки значения атрибутов, и потом уже, с помощью, QDomElement заменить величины "pt" и "cm" на "px". Написал для взятия значения в кавычки следующий код: Код: void change_html(QString page_html) Но не знаю как записать верно эту регулярку QRegExp reg_find_teg("<=(.*)[ ]>"); Может кто-то подскажет? Ну или направит меня на другое более верное решение проблемы не понимания QTextBrowser величин "pt" и "cm". |