qt 打印预览 不同尺寸
时间: 2023-07-05 12:17:30 浏览: 42
如果需要在打印预览中显示不同尺寸的页面,可以在 QPrintPreviewDialog 对象中设置 QPrintPreviewWidget 的页面大小。具体步骤如下:
1. 在 QPrintPreviewDialog 对象中获取 QPrintPreviewWidget 对象。
```cpp
QPrintPreviewWidget *previewWidget = preview.findChild<QPrintPreviewWidget*>();
```
2. 创建一个 QPageLayout 对象,用于设置页面大小。
```cpp
QPageLayout layout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0, 0, 0, 0));
```
3. 调用 QPrintPreviewWidget 对象的 setPageLayout() 函数,设置页面大小。
```cpp
previewWidget->setPageLayout(layout);
```
这样就可以在打印预览中显示指定大小的页面了。如果需要显示多页,可以在 QPageLayout 对象中设置多个页面。
相关问题
qt打印预览设置纸张
您好,如果您想在Qt中设置打印预览的纸张大小,可以使用QPageLayout类中的setPageSize函数。该函数可以设置纸张的大小,其参数为QPageSize对象。以下是一个示例代码片段,用于设置纸张大小为A4:
```cpp
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog preview(&printer);
connect(&preview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(printPreview(QPrinter*)));
QPageSetupDialog pageSetupDialog(&printer);
if (pageSetupDialog.exec() == QDialog::Accepted) {
QPageLayout pageLayout = pageSetupDialog.pageLayout();
// 设置纸张大小为A4
pageLayout.setPageSize(QPageSize(QPageSize::A4));
printer.setPageLayout(pageLayout);
preview.setMinimumSize(1000, 800); // 设置预览对话框的最小尺寸
preview.exec();
}
```
在上面的代码中,我们使用QPageSize类中的A4属性来设置纸张大小。如果您需要设置其他纸张大小,可以选择其他QPageSize属性,或者使用自定义的QPageSize对象。
希望这个例子能够帮助您实现设置打印预览纸张大小的功能。如果您有更多问题,请随时提出。
qt打印预览多页纸张大小
您好,如果您想在Qt中实现打印预览多页纸张大小的设置,可以通过QPageLayout类和QPageSize类来实现。以下是一个示例代码片段,用于设置多页打印预览的纸张大小:
```cpp
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog preview(&printer);
connect(&preview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(printPreview(QPrinter*)));
QPageSetupDialog pageSetupDialog(&printer);
if (pageSetupDialog.exec() == QDialog::Accepted) {
QPageLayout pageLayout = pageSetupDialog.pageLayout();
// 设置纸张大小为A4
QPageSize pageSize(QPageSize::A4);
// 设置横向纸张大小为A4
pageSize.setWidth(pageSize.height());
// 设置纵向纸张大小为A5
QPageSize pageSize2(QPageSize::A5);
// 设置纸张方向为纵向
pageSize2.setWidth(pageSize2.height());
pageSize2.setHeight(pageSize2.width());
// 添加纵向A5大小的纸张
pageLayout.addPage(QPageLayout::Portrait, pageSize2);
// 设置打印预览纸张大小
printer.setPageLayout(pageLayout);
preview.setMinimumSize(1000, 800); // 设置预览对话框的最小尺寸
preview.exec();
}
```
在上面的代码中,我们通过QPageSize类中的A4和A5属性来设置纸张大小。我们将A4纸张大小设置为横向,将A5纸张大小设置为纵向,并将其添加到QPageLayout对象中。最后,我们将QPageLayout对象设置到QPrinter对象中,以便在打印预览时使用。
希望这个例子能够帮助您实现打印预览多页纸张大小的设置。如果您有更多问题,请随时提出。
阅读全文