Qt Render QTablelView для печати с использованием QPrinter

Я пытаюсь распечатать счет с использованием Qt. Одной из функций, необходимых для выставления счета-фактуры, является таблица для этого. Я решил использовать QTabelWidget, потому что я понимаю, как их использовать, но я получаю сообщение об ошибке "нет соответствующей функции-члена для вызова метода render". Как я могу исправить эту проблему и возможно ли напечатать QTableView. Мой код ниже

QPrinter Print;
Print.setPaperSize(QPrinter::A4);
Print.setOrientation(QPrinter::Landscape);
Print.setDuplex(QPrinter::DuplexAuto);
QTableWidget PrintTable;
PrintTable.setRowCount(ui->tableWidget_Invoice->rowCount());
PrintTable.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
PrintTable.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
QTableWidgetItem *Product_CODE = new QTableWidgetItem;
QTableWidgetItem *Description = new QTableWidgetItem;
QTableWidgetItem *Unit_Price = new QTableWidgetItem;
QTableWidgetItem *Qty = new QTableWidgetItem;
QTableWidgetItem *Total_Price = new QTableWidgetItem;
for(int x =0; x<ui->tableWidget_Invoice->rowCount(); x++)
{
    Product_CODE->setText(ui->tableWidget_Invoice->item(x, 2)->text());
    Description->setText(ui->tableWidget_Invoice->item(x, 1)->text());
    Unit_Price->setText(ui->tableWidget_Invoice->item(x, 3)->text());
    Qty->setText(ui->tableWidget_Invoice->item(x, 0)->text());
    Total_Price->setText(ui->tableWidget_Invoice->item(x, 4)->text());
    PrintTable.setItem(x, 0, Product_CODE);
    PrintTable.setItem(x, 1, Description);
    PrintTable.setItem(x, 2, Unit_Price);
    PrintTable.setItem(x, 3, Qty);
    PrintTable.setItem(x, 4, Total_Price);
}
QHeaderView* header = PrintTable.horizontalHeader();
header->setSectionResizeMode(QHeaderView::Stretch);
PrintTable.render(Print);

0 ответов

Другие вопросы по тегам