Доброго вам дня.
Знову як замітка.
Виникла потреба виводити на друк точну копію вмісту QTableWidget з делегатами тощо.
Вийшло таке:
void FinalPage::on_pushButtonPrint_clicked() { int width = 0; int height = 0; int columns = ui->tableWidgetName->columnCount(); int rows = ui->tableWidgetName->rowCount(); for( int i = 0; i < columns; ++i ) { width += ui->tableWidgetName->columnWidth(i); } for( int i = 0; i < rows; ++i ) { height += ui->tableWidgetName->rowHeight(i); } ui->tableWidgetName->setFixedSize(width, height); ui->tableWidgetName->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->tableWidgetName->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); QPrintPreviewDialog *prDialog = new QPrintPreviewDialog(&printer, this); ui->tableWidgetName->render(&printer); connect(prDialog,&QPrintPreviewDialog::paintRequested,this,&FinalPage::printPreviewNeeds); prDialog->showMaximized(); prDialog->exec(); } void FinalPage::printPreviewNeeds(QPrinter *) { ui->tableWidgetName->render(&printer); }