Qt5.3.0で印刷するとずれる件(解決)

slashdot.jpで質問したら、偉い人が教えてくださいました

QPageLayout::setModeを使うと良いとのこと。QPageLayout::FullPageModeを設定します。

void MainWindow::on_pushButton_clicked()
{
    QPrintDialog dlg(this);
    if (dlg.exec() == QDialog::Accepted) {
            QPrinter *printer = dlg.printer();

            QPageLayout layout = printer->pageLayout();
            layout.setMode(QPageLayout::FullPageMode);
            printer->setPageLayout(layout);

            printer->setPaperSize(QPrinter::A4);
            printer->setOrientation(QPrinter::Portrait);
            printer->setPageMargins(0, 0, 0, 0, QPrinter::Millimeter);
            printer->setResolution(254);

            QPainter painter(printer);
            painter.setPen(QPen(Qt::black, 20));
            painter.drawEllipse(0, 0, 2100, 2970);
    }
}

これで、期待通りに動作するようになりました。

カテゴリー: 未分類   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA(画像認証)

上の画像の最初と最後を除いた3桁の数字を入力して、送信ボタンを押してください。