Как распечатать QGraphicsTextItem в приложении MFC - PullRequest
2 голосов
/ 23 июня 2010

Я использовал QGraphicsTextItem в своих приложениях MFC для редактирования текста, а затем преобразовал результаты в растровое изображение для отображения на виде (экране).Но это имеет проблемы при печати.Например, если я печатаю в файл PDF, текст не масштабируется, поскольку это растровое изображение и размер файла также большой.

Как я могу напечатать QGraphicsTextItem в инфраструктуре печати MFC?Идеальным решением является то, что мы можем подключить QPrinter к инфраструктуре печати MFC или я могу инициализировать QPrinter с Win32 DC.Среда печати MFC подготовила для меня принтер и DC, поэтому мне не нужен QPrintDialog для повторного выполнения этой задачи. Код может выглядеть примерно так:

QPrinter printer;
printer.paintEngine()->setDC(myHDC); //**Note: this line is imagined by me.
QPainter painter(&printer);

Возможно ли это?Должен ли я переопределить свой собственный QPrinter?Сканируя исходный код QPrinter, я нашел его очень сложным.Я надеюсь, что есть простой способ получить мою цель.Если я должен реализовать свой собственный QPrinter, что я должен заметить?Кто-нибудь может дать мне несколько советов?

1 Ответ

0 голосов
/ 14 октября 2011

Плохие новости.То, что вы ищете, - это рендер GDI / GDI +, который был заброшен в Qt4. Здесь - связанный вопрос с более подробной информацией по той же проблеме.В конце концов, вам понадобится не QPrinter, а QPaintEngine.См. этот документ .

...