Сделал вот так:
void MainWindow::sl_actPrint()
{
qDebug()<<"print";
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog preview(&printer,this);
connect(&preview,SIGNAL(paintRequested(QPrinter*)),this,SLOT(sl_print(QPrinter*)));
preview.exec();
}
void MainWindow::sl_print(QPrinter*printer)
{
QPainter p(printer);
QPixmap pm = QPixmap::grabWidget(w->w,0);
p.drawPixmap(0,0,pm);
}
Но он печатает мне изображение в верхнем углу листа, и то (5см х 3см),
а как сделать чтоб на весь лист растягивал?