2016-11-14 5 views
0

QPrinterを使用して壊れました、しかし、別のコンピュータでは、私のPDFレポートのレイアウトは "壊れています"。その理由の検索PDFレポートのレイアウトはsetPaperSize(QPrinter :: A4)私は私の<strong>QPrinter</strong>対象の用紙サイズを設定するには、次のコードを使用していた

は、私はこの問題を発見した: Qt QPrinter setPaperSize does not work properly

@Jensが言ったように:は「setPaperSizeは、プリンタドライバから受信した情報に依存しています...」を。

IはQtのドキュメントQPrinter::A4サイズをチェックし、そのサイズは210 X 297ミリメートルに相当します。

setPaperSizeのパラメータをprinter_.setPaperSize(QPrinter::A4);からprinter_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter);に変更することはできますか? 正常に動作しますか(プリンタに依存しません)?

私は他のコンピュータをもうテストしていないので、私はそれを求めています。私は自分のコンピュータで問題を再現できません。ところで、問題が解決したかどうかをテストするためにコンピュータ上の問題を再現する方法を知っている人は誰でも知っています。

例: enter image description here

画像上の黒の境界線が印刷された領域の境界を示すためにのみ使用されます。

:私はQtの5.3.2に

答えて

1

を使用しています、私はからsetPaperSizeパラメータを変更:に

printer_.setPaperSize(QPrinter::A4); 

printer_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter); 

値とは、Qtのドキュメントから、次のとおりです。

"QPrinter :: A4 - 0から210 X 297ミリメートル、8.26 X 11.69インチ" 基本的

、代わりにプリンタデバイスのサイズを取得しますQPrinter::A4を使用して、正しいA4ミリメートルサイズに基づいて固定QSizeFを設定しています。

それは私のために働いた。