Как конвертировать QTableView to QWebView

164
09 августа 2018, 08:20

При запросе в Базу данных использую QSqlQueryModel, добавляю эту модель в QTableView все хорошо, отображается. Мне необходимо эту табличку перевести в PDF. Знаю как сделать из QWebView в PDF с помощью QPrinter и QWebView::print(). Но возникла сложность при конвертации из QTableView в QWebView. Конечно можно брать отдельные элементы ячеек и заполнять с помощью html тэгов, но есть ли более элегантный способ для подобной конвертации?

Answer 1

Любой QWidget, в том числе QTableView, можно отпечатать в виде pdf.

void printToPDF( QWidget* w ) {        
    QPrinter printer(QPrinter::HighResolution);
    printer.setOutputFormat(QPrinter::PdfFormat);
    printer.setOutputFileName("output.pdf");
    // printer.setPageMargins(12, 16, 12, 20, QPrinter::Millimeter);
    // printer.setFullPage(false);
    // ...
    QPainter painter(&printer);
    // painter.translate( ..., ... );
    // painter.scale( ..., ... );
    w -> render(&painter);   
}

Но, с высокой вероятностью, клиента это не устроит, поскольку ему нужно не то что он видит на экране, а что-то другое... Проще обойти в цикле все строки / ячейки и сформировать HTML документ вручную, со стилями, колонтитулами и т.д., а потом его отпечатать в PDF.

READ ALSO
Статические константы класса и что с ними делать?

Статические константы класса и что с ними делать?

У меня есть два класса, которые раскинуты по разным хэдэрам и сурсным файлам, при этом в каждом из них есть некоторое количество статических...

159
Как сделать сравнение юникод строки из файла и const wchar_t*?

Как сделать сравнение юникод строки из файла и const wchar_t*?

Я перехватываю перемещение файла, в файле permissiontxt через \n записаны пути до файлов, которые перемещать нельзя Сейчас сильно остановился на больной...

203
CaptureStackBackTrace(…) Выдаёт неполный стек вызовов на x86

CaptureStackBackTrace(…) Выдаёт неполный стек вызовов на x86

А на x64 тот же самый код нормально работает, выдаёт полный стекВ чём может быть проблема? Может быть кто-нибудь сталкивался с подобной проблемой?

203
Порядок отрисовки компонентов

Порядок отрисовки компонентов

Есть JPanel на которой расположена кнопка и другая дочерняя панель закрашенная красным цветомДочерняя панель должна отрисовываться после...

203