Printing QTextTable And QPainter
-
I am trying to print an invoice and i have found the best way is to use a QTextTable and for the text part of the invoice i am going to use QPainter but when i imploment this the only thing that shows is the table, i know the code for the painter is correct because when i comment the table code out the text shows fine. How can i show a texttable and text from Qpainter on the same printed page. My code is below.
QPrinter Print(QPrinter::HighResolution); Print.setPaperSize(QPrinter::A4); Print.setOrientation(QPrinter::Landscape); Print.setDuplex(QPrinter::DuplexAuto); Print.setOrientation(QPrinter::Portrait); Print.newPage(); QPrintDialog Printdialog(&Print); Printdialog.setWindowTitle("Print"); Printdialog.exec(); QPainter painter; painter.begin(&Print); QRect rect(0,0,250,250); painter.drawText(100, 100, "Test"); QTextCursor cursor(ui->textBrowser->textCursor()); cursor.movePosition(QTextCursor::Start); QTextTable *table = cursor.insertTable(ui->tableWidget_Invoice->rowCount() +1, 5); table->cellAt(0,0).firstCursorPosition().insertText("Product Code"); table->cellAt(0,1).firstCursorPosition().insertText("Product Description"); table->cellAt(0,2).firstCursorPosition().insertText("Qty"); table->cellAt(0,3).firstCursorPosition().insertText("Unit Price"); table->cellAt(0,4).firstCursorPosition().insertText("Total Price"); for(int x = 0; x<ui->tableWidget_Invoice->rowCount(); x++) //Insert Contents of Form Table Into Printout Table { table->cellAt(x+1,0).firstCursorPosition().insertText(ui->tableWidget_Invoice->item(x,2)->text()); table->cellAt(x+1,1).firstCursorPosition().insertText(ui->tableWidget_Invoice->item(x,1)->text()); table->cellAt(x+1,2).firstCursorPosition().insertText(ui->tableWidget_Invoice->item(x,0)->text()); table->cellAt(x+1,3).firstCursorPosition().insertText(ui->tableWidget_Invoice->item(x,3)->text()); table->cellAt(x+1,4).firstCursorPosition().insertText(ui->tableWidget_Invoice->item(x,4)->text()); } ui->textBrowser->print(&Print);