本页内容

QPrintPreviewDialog Class

QPrintPreviewDialog 类提供了一个用于预览和配置打印输出页面布局的对话框。更多内容...

标题: #include <QPrintPreviewDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake: QT += printsupport
继承自: QDialog

公共函数

QPrintPreviewDialog(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
QPrintPreviewDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
virtual ~QPrintPreviewDialog()
void open(QObject *receiver, const char *member)
QPrinter *printer()

重新实现的公共函数

virtual void done(int result) override
virtual void setVisible(bool visible) override

信号

void paintRequested(QPrinter *printer)

详细说明

在现有应用程序中使用 QPrintPreviewDialog 非常简单:

  1. 创建 QPrintPreviewDialog。

    您可以使用现有的QPrinter 对象来创建一个QPrintPreviewDialog,或者让QPrintPreviewDialog为您创建一个,该打印机将作为系统的默认打印机。

  2. 将paintRequested()信号连接到一个槽。

    当对话框需要生成一组预览页面时,将发出paintRequested()信号。生成预览时,您可以使用与实际打印完全相同的代码,包括调用QPrinter::newPage()在预览中开始新页面。将一个槽连接到paintRequested()信号,并在该槽中对传入的QPrinter 对象进行绘制。

  3. 调用exec()。

    调用QPrintPreviewDialog::exec() 以显示预览对话框。

另请参阅 QPrinter 、QPrintDialog 、QPageSetupDialog 和QPrintPreviewWidget 。

成员函数文档

[explicit] QPrintPreviewDialog::QPrintPreviewDialog(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

基于printer 并以parent 作为父控件,构建一个QPrintPreviewDialog。控件标志flags 将传递给QWidget 构造函数。

另请参阅 QWidget::setWindowFlags()。

[explicit] QPrintPreviewDialog::QPrintPreviewDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

这将创建一个内部的QPrinter 对象,该对象将使用系统的默认打印机。

这是一个重载函数。

[virtual noexcept] QPrintPreviewDialog::~QPrintPreviewDialog()

销毁QPrintPreviewDialog 。

[override virtual] void QPrintPreviewDialog::done(int result)

重新实现了:QDialog::done(int r)。

void QPrintPreviewDialog::open(QObject *receiver, const char *member)

打开对话框,并将该对话框的 finished(int) 信号连接到由receiver 和member 指定的槽。

当对话框关闭时,该信号将与该槽断开连接。

[signal] void QPrintPreviewDialog::paintRequested(QPrinter *printer)

当QPrintPreviewDialog 需要生成一组预览页面时,会发出此信号。

提供的printer 实例即为绘制设备,您应使用QPrinter 实例,以与直接打印时相同的方式,将每页的内容绘制到该设备上。

QPrinter *QPrintPreviewDialog::printer()

返回指向该对话框当前正在操作的QPrinter 对象的指针。

[override virtual] void QPrintPreviewDialog::setVisible(bool visible)

重写了:QDialog::setVisible (bool visible)。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.