You might generate HTML code and use a QTextDocument to print it. For example:
void MyClass::print()
{
html = "<html><body><table border=\"0\">";
for(int row = 0; row < m_model->rowCount(); row++) {
html += "<tr>";
for(int column = 0; column < m_model->columnCount(); column++) {
QString data
= m_model
->data
(m_model
->index
(row, column
), Qt
::DisplayRole).
toString();
html += "<td>" + data + "</td>";
}
html += "</tr>";
}
html += "</table></body></html>";
if(dialog
->exec
() == QDialog::Accepted) { document.setHtml(html);
document.print(&printer);
}
}
void MyClass::print()
{
QString html;
html = "<html><body><table border=\"0\">";
for(int row = 0; row < m_model->rowCount(); row++) {
html += "<tr>";
for(int column = 0; column < m_model->columnCount(); column++) {
QString data = m_model->data(m_model->index(row, column), Qt::DisplayRole).toString();
html += "<td>" + data + "</td>";
}
html += "</tr>";
}
html += "</table></body></html>";
QPrinter printer;
QPrintDialog *dialog = new QPrintDialog(&printer);
if(dialog->exec() == QDialog::Accepted) {
QTextDocument document;
document.setHtml(html);
document.print(&printer);
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks