Russian Qt Forum
Сентябрь 21, 2024, 13:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: печать QGraphicsScene  (Прочитано 8827 раз)
crossly
Гость
« : Октябрь 27, 2008, 10:45 »

ну собственно говоря все по ассистенту...
Код:
QPrinter printer;
QPainter painter(&printer);
s->render(&painter);
QPrintPreviewDialog d(&printer);
d.exec();
мдя.... а в превью пусто.... кто подскажет в чем может быть проблема....??
Записан
Rcus
Гость
« Ответ #1 : Октябрь 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.
возможно в этом кроется проблема.
Записан
crossly
Гость
« Ответ #2 : Октябрь 27, 2008, 11:02 »

не ... пробовал... дело не в этом...
Записан
crossly
Гость
« Ответ #3 : Октябрь 27, 2008, 11:04 »

к тому же там указано...
Цитировать
The default paper size is driver-dependent.
у меня a4
Записан
crossly
Гость
« Ответ #4 : Октябрь 27, 2008, 11:32 »

ага...
печатать он печатает.... а превью нету.. Грустный
Записан
crossly
Гость
« Ответ #5 : Октябрь 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*&)'
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Октябрь 27, 2008, 12:37 »

win.cpp:70: error: no matching function for call to 'Scene::render(QPrinter*&)'
в этом и проблема: Scene::render(QPrinter*&)'
передавать в функцию указатель надо.
Записан

Юра.
crossly
Гость
« Ответ #7 : Октябрь 27, 2008, 12:46 »

Код:
void Win::printPreview(QPrinter *p)
а вот это что по вашему...??
Записан
crossly
Гость
« Ответ #8 : Октябрь 27, 2008, 15:15 »

и вообще .... что за день сегодня... Непонимающий.... тему закрыть... удалить... а автору поспать....
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #9 : Октябрь 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.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
crossly
Гость
« Ответ #10 : Октябрь 27, 2008, 15:22 »

да дошло уже....   Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.