Russian Qt Forum

Qt => Печать => Тема начата: crossly от Октябрь 27, 2008, 10:45



Название: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 10:45
ну собственно говоря все по ассистенту...
Код:
QPrinter printer;
QPainter painter(&printer);
s->render(&painter);
QPrintPreviewDialog d(&printer);
d.exec();
мдя.... а в превью пусто.... кто подскажет в чем может быть проблема....??


Название: Re: печать QGraphicsScene
Отправлено: Rcus от Октябрь 27, 2008, 10:54
В ассистенте немного подругому,
Код:
 QPrinter printer(QPrinter::HighResolution);
 printer.setPaperSize(QPrinter::A4);

 QPainter painter(&printer);
 scene.render(&painter);
а насчет setPaperSize сказано
Цитировать
Sets the printer paper size to newPaperSize if that size is supported. The result is undefined if newPaperSize is not supported.

The default paper size is driver-dependent.
возможно в этом кроется проблема.


Название: Re: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 11:02
не ... пробовал... дело не в этом...


Название: Re: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 11:04
к тому же там указано...
Цитировать
The default paper size is driver-dependent.
у меня a4


Название: Re: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 11:32
ага...
печатать он печатает.... а превью нету.. :(


Название: Re: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 12:12
и ещё один маленький вопрос... в чем здесь ошибка??
Код:
void Win::printPreview(QPrinter *p)
{
#ifdef QT_NO_PRINTER
    Q_UNUSED(p);
#else
    s->render(p);
#endif
}
взято из демо....
Цитировать
win.cpp:70: error: no matching function for call to 'Scene::render(QPrinter*&)'


Название: Re: печать QGraphicsScene
Отправлено: lit-uriy от Октябрь 27, 2008, 12:37
win.cpp:70: error: no matching function for call to 'Scene::render(QPrinter*&)'
в этом и проблема: Scene::render(QPrinter*&)'
передавать в функцию указатель надо.


Название: Re: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 12:46
Код:
void Win::printPreview(QPrinter *p)
а вот это что по вашему...??


Название: Re: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 15:15
и вообще .... что за день сегодня... ???.... тему закрыть... удалить... а автору поспать....


Название: Re: печать QGraphicsScene
Отправлено: pastor от Октябрь 27, 2008, 15:18
Код:
void Win::printPreview(QPrinter *p)
а вот это что по вашему...??

Код:
void QGraphicsScene::render ( QPainter * painter, const QRectF & target = QRectF(), const QRectF & source = QRectF(), Qt::AspectRatioMode aspectRatioMode = Qt::KeepAspectRatio )

Первый параметр QPainter, а вы передаете QPrinter.


Название: Re: печать QGraphicsScene
Отправлено: crossly от Октябрь 27, 2008, 15:22
да дошло уже....   :)