Russian Qt Forum

Qt => Печать => Тема начата: Hort от Ноябрь 05, 2008, 19:21



Название: Как заставить работать QPrintPreviewDialog без принтера
Отправлено: Hort от Ноябрь 05, 2008, 19:21
Вобщем прога у меня может вызывать QPrintPreviewDialog - диалог для предпросмотра страницы. Все хорошо, только вот запустил на виртуальной машине, где принтера собственно нет, и прога ушла в долгий аут. Если запускаю вызов диаглога для печати - он исправно ругается что принтера нету и надо его установить (стандатный виндовс диалог для печати). Прмер из Qt - TextEdit работает точно также.
Он нужен мне без принтера напр. для того, чтобы настроить параметры страницы при сохранении документа в PDF.
Попытался это исправить так:
Код:
void EditorMainWindow::slotFilePrintPreview()
{
bool noPrinter=!printer.isValid();
if(noPrinter)
printer.setOutputFormat(QPrinter::PdfFormat);
QPrintPreviewDialog* preview=new QPrintPreviewDialog(&printer, this);
preview->setWindowTitle(tr("Print preview"));
preview->setWindowIcon(QIcon(":images/file/print.png"));
connect(preview, SIGNAL(paintRequested(QPrinter*)), SLOT(slotPrint(QPrinter*)));
preview->exec();
delete preview;
if(noPrinter)
printer.setOutputFormat(QPrinter::NativeFormat);
}
теперь он не уходит глубокий аут, но неработает кнопка печати и параметров страницы.
Что посоветуете?


Название: Re: Как заставить работать QPrintPreviewDialog без принтера
Отправлено: Admin от Ноябрь 05, 2008, 23:05
у меня на компах тоже принтер не настроен
а сохранение PDF работает - сохраняю сразу в файл

вот кусок моего кода

Код:
        printer->setOutputFormat(QPrinter::PdfFormat);
       [b] printer->setOutputFileName(fileName);[/b]
        printPages(printer);

отличия только в этом месте


Название: Re: Как заставить работать QPrintPreviewDialog без принтера
Отправлено: Hort от Ноябрь 06, 2008, 09:55
у меня тоже работает отдельно сохранение в PDF. не работает пред просмотр. Ведь например надо посмотреть что в итоге получится, изменить параметры страницы и т.п., а так получается сохраняеш PDF в "слепую"


Название: Re: Как заставить работать QPrintPreviewDialog без принтера
Отправлено: Admin от Ноябрь 06, 2008, 13:54
немного не понятно зачем просматривать PDF
у меня просмотр отдельно, сохранение отдельно

PS: а так замечание правильно, при некоторых комбинациях опции происходит зависание


Название: Re: Как заставить работать QPrintPreviewDialog без принтера
Отправлено: Hort от Ноябрь 06, 2008, 21:58
немного не понятно зачем просматривать PDF
чтобы изменить параметры страницы и следовательно - внешний вид документа. ведь сохраняется PDF через виртуальный принтер