Russian Qt Forum

Qt => Печать => Тема начата: fil265 от Октябрь 07, 2010, 22:57



Название: Отправить на принтер jpg картинку?
Отправлено: fil265 от Октябрь 07, 2010, 22:57
Необходимо отправить на печать jpg картинку. Помогите, пожалуйста.
Пишу следующее, но что-то не очень-то получается(((:

QImage *image = new QImage("C:/print.jpg","JPG");
QPrinter printer;
QPainter painter;

     painter.begin(&printer);

    QRect rect = painter.viewport();
     int side = qMin(rect.width(),rect.height());
painter.drawImage(rect,*image);
QPrintPreviewDialog dialog(&printer, this);     
dialog.exec();
painter.end();

Появляется пустой предпросмотр и больше ничего)))


Название: Re: Отправить на принтер jpg картинку?
Отправлено: Denjs от Октябрь 07, 2010, 23:17
читать ассистант по 2 часа перед сном каждый день до просветления того как работает QPrintPreviewDialog  ;).
http://www.prog.org.ru/index.php?topic=14682.msg96398#msg96398


Название: Re: Отправить на принтер jpg картинку?
Отправлено: fil265 от Октябрь 12, 2010, 23:21
Что то у меня все равно не получается((((
Пишу следующее(может что не так пишу):
Опять предпросмотр пустой.
Код:
................................................................
QPrinter *printer = new QPrinter(QPrinter::HighResolution);
QPrintPreviewDialog *dialog = new QPrintPreviewDialog(printer);
    connect(dialog, SIGNAL(paintRequested(QPrinter *)),
this, SLOT(printing(QPrinter *)));

   dialog->exec();
}
...........................................
void forma::printing(QPrinter *printer)
{
QPainter painter;
QImage *image= new QImage();
QString name;
name="C:/print.jpg";
image->load(name,"JPG");
painter.begin(printer);
QRect rect = painter.viewport();    
painter.drawImage(rect,*image);
painter.end();
}
...........................................


Название: Re: Отправить на принтер jpg картинку?
Отправлено: fil265 от Октябрь 13, 2010, 23:33
Спасибо - нашел в чем была проблема=))))))
Оказывается я просто принтер не установил - вот он и показывал мне пустой предпросмотр. =))))))))