Необходимо отправить на печать таблицу. Прочитав книгу Бланшета решил что самым удобным будет сформировать HTML и затем отправить на печать с применением класса QTextDocument.
void MainWindow::printTable()
{
QString html;
html = "<table width=\"100%\" border=1 cellspacing=0>\n ";
...............
html += "</table>\n";
printHTML(html);
}
void MainWindow::printHTML(const QString &html)
{
QPrinter printer;
QPrintDialog printDialog (&printer,this);
if (printDialog.exec())
{
QPainter painter (&printer);
QTextDocument textDocument;
textDocument.setHtml(html);
textDocument.print(&printer);
}
}
После выполнения данного кода на печать ничего не уходит и появляется следующая ошибка:
QPainter::begin: A paint device can only be painted by one painter at a time.В какую сторону двигаться? Что происходит? Натолкните на мысль.
Спасибо.
PS: Сформированный html корректно отображается в QTextEdit