1

Qt で PDF を印刷しようとしていますが、正常に動作しています。ただし、場合によっては、実際に印刷される量がわかった後で用紙のサイズを変更したいことがあります。

オブジェクトに取り付けられたデバイスの用紙サイズを変更しようとしていQPainterますが、実際の出力には影響しません。

これが私が疑似コードでやっていることです:

printer = new QPrinter(...);
printer->setPaperSize(...); /* eg. A4 */

painter = new QPainter();
painter->begin(printer);

determine_page_size_by_trial_rendering(frame, printer, *painter);

printer->setPaperSize(....); /* eg. A5 */

real_rendering(frame, printer, *painter)

残念ながら、私はこれを行うことができないようです。オブジェクトが何らかの形でページサイズをどこかに保持しているように感じ、QPainterリセットできません。

4

1 に答える 1

0

わかりました-私はそれがすでにそれを信じているかどうかを理解しました。私は1日以上探していましたが、それは単純であることがわかりました-反対したPainterを破棄してから、新しいものを開きました。

painter->end();
painter = new QPainter(printer);

それはそれを解決しました...

于 2013-01-25T15:19:34.207 に答える