LINUX.ORG.RU

История изменений

Исправление Xintrea, (текущая версия) :

Ты же программист, может и так сработает.
Я картинки на печать никогда не выводил.
Я выводил на печать QTextDocument, подтверждаю, так печать работает.

Если у тебя будет одна итоговая картика, то можешь попробовать ее распечатать так:

QImage img(fileName);
QPrinter printer;
QPainter painter(&printer);
painter.drawImage(QPoint(0,0),img);
painter.end();

А если нужно с диалогом настройки принтера, то что-то такое:
QString fileName = ...;
QPrinter printer;

QPrintDialog *dlg = new QPrintDialog(&printer,0);
if(dlg->exec() == QDialog::Accepted) {
    QImage img(fileName);
    QPainter painter(&printer);
    painter.drawImage(QPoint(0,0),img);
    painter.end();
}

delete dlg;

Здесь с fileName можешь не заморачиваться, а напрямую работать с QImage img.

Исправление Xintrea, :

Ты же программист, может и так сработает.
Я картинки на печать никогда не выводил.
Я выводил на печать QTextDocument, подтверждаю, так печать работает.

Если у тебя будет одна итоговая картика, то можешь попробовать ее распечатать так:

QImage img(fileName);
QPrinter printer;
QPainter painter(&printer);
painter.drawImage(QPoint(0,0),img);
painter.end();

А если нужно с диалогом настройки принтера, то что-то такое:
QString fileName = ...;
QPrinter printer;

QPrintDialog *dlg = new QPrintDialog(&printer,0);
if(dlg->exec() == QDialog::Accepted) {
    QImage img(fileName);
    QPainter painter(&printer);
    painter.drawImage(QPoint(0,0),img);
    painter.end();
}

delete dlg;

Исходная версия Xintrea, :

Ты же программист, может и так сработает.
Я картинки на печать никогда не выводил.
Я выводил на печать QTextDocument, подтверждаю, так печать работает.

Если у тебя будет одна итоговая картика, то можешь попробовать ее распечатать так:

QImage img(fileName);
QPrinter printer;
QPainter painter(&printer);
painter.drawImage(QPoint(0,0),img);
painter.end();