Вместо того, чтобы использовать полуобеспеченный подход с использованием QTextDocument
и QLineEdit
, который, по-видимому, поддерживает только подмножество HTML, следует использовать полнофункциональный подход с использованием QWebEngineView
, если это соответствует вашим требованиям.
Если ваши требования состоят в том, чтобы просто создать отчет, который не должен редактироваться пользователем в QLineEdit
, вам определенно стоит попробовать QWebEngineView
.Я использую его для создания отчетов в различных приложениях, и опция печати в формате PDF, безусловно, является преимуществом.
Следующее работает для меня и хорошо рисует границы:
#include <QApplication>
#include <QWebEngineView>
#include <QIODevice>
#include <QFile>
int main(int argc, char** args) {
QApplication app(argc, args);
QFile file("./data/test.html");
file.open(QIODevice::ReadOnly);
QString content=QString::fromStdString(file.readAll().toStdString());
auto webView = new QWebEngineView;
webView->setHtml(content);
webView->show();
QObject::connect(&app, &QApplication::aboutToQuit, [&webView]()
{
webView->deleteLater(); // Prevents crash
});
app.exec();
}