#include #include #include #include #include #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); QPrinter printer; QPrintDialog dialog(&printer, nullptr); dialog.setWindowTitle("Print Document"); if (dialog.exec() != QDialog::Accepted) { return 0; } QPainter dc; dc.begin(&printer); dc.setClipRect(0,0,printer.width(),printer.height()); QElapsedTimer timer; timer.start(); const int numItems = 50 * 1000; const int arcSize = 20; for (int i = 0; i < numItems; ++i) dc.drawArc((qrand() % 2000), (qrand() % 2000), arcSize, arcSize, -90*16, 180*16); dc.end(); QString elapsedTime("Elapsed time: "); elapsedTime += QString::number(timer.elapsed()); QPushButton printButton(elapsedTime, nullptr); printButton.connect(&printButton, SIGNAL(pressed()), &printButton, SLOT(close())); printButton.show(); return a.exec(); }