QPrintPreviewWidget Class
QPrintPreviewWidget 类提供了一个用于预览打印输出页面布局的小部件。更多内容...
| 标题: | #include <QPrintPreviewWidget> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS PrintSupport) target_link_libraries(mytarget PRIVATE Qt6::PrintSupport) |
| qmake: | QT += printsupport |
| 继承自: | QWidget |
- 所有成员列表(包括继承的成员)
- QPrintPreviewWidget 属于打印机和打印 API 的一部分。
公共类型
| enum | ViewMode { SinglePageView, FacingPagesView, AllPagesView } |
| enum | ZoomMode { CustomZoom, FitToWidth, FitInView } |
公共函数
| QPrintPreviewWidget(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | |
| QPrintPreviewWidget(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | |
| virtual | ~QPrintPreviewWidget() |
| int | currentPage() const |
| QPageLayout::Orientation | orientation() const |
| int | pageCount() const |
| QPrintPreviewWidget::ViewMode | viewMode() const |
| qreal | zoomFactor() const |
| QPrintPreviewWidget::ZoomMode | zoomMode() const |
重新实现的公共函数
| virtual void | setVisible(bool visible) override |
公共插槽
| void | fitInView() |
| void | fitToWidth() |
| void | print() |
| void | setAllPagesViewMode() |
| void | setCurrentPage(int page) |
| void | setFacingPagesViewMode() |
| void | setLandscapeOrientation() |
| void | setOrientation(QPageLayout::Orientation orientation) |
| void | setPortraitOrientation() |
| void | setSinglePageViewMode() |
| void | setViewMode(QPrintPreviewWidget::ViewMode mode) |
| void | setZoomFactor(qreal factor) |
| void | setZoomMode(QPrintPreviewWidget::ZoomMode zoomMode) |
| void | updatePreview() |
| void | zoomIn(qreal factor = 1.1) |
| void | zoomOut(qreal factor = 1.1) |
信号
| void | paintRequested(QPrinter *printer) |
| void | previewChanged() |
详细说明
QPrintPreviewDialog 内部使用了 QPrintPreviewWidget,而 QPrintPreviewWidget 的目的是使预览能够嵌入到其他控件中。它还允许围绕该控件构建与QPrintPreviewDialog 提供的默认用户界面不同的界面。
使用 QPrintPreviewWidget 非常简单:
- 创建 QPrintPreviewWidget
通过传入现有的QPrinter 对象来实例化QPrintPreviewWidget,或者让QPrintPreviewWidget为您创建一个默认构造的QPrinter 对象。
- 将paintRequested()信号连接到一个槽。
当控件需要生成一组预览页面时,控件会发出paintRequested()信号。将一个槽连接到该信号,并在作为信号参数传递的QPrinter 上进行绘制。调用QPrinter::newPage(),可在预览中开始新的一页。
另请参阅 QPrinter 、QPrintDialog 、QPageSetupDialog 以及QPrintPreviewDialog 。
成员类型文档
enum QPrintPreviewWidget::ViewMode
此枚举用于描述预览控件的查看模式。
| 常量 | 值 | 描述 |
|---|---|---|
QPrintPreviewWidget::SinglePageView | 0 | 一种在预览中查看单页的模式。 |
QPrintPreviewWidget::FacingPagesView | 1 | 一种以对开页形式查看预览的模式。 |
QPrintPreviewWidget::AllPagesView | 2 | 一种可查看预览中所有页面的查看模式。 |
enum QPrintPreviewWidget::ZoomMode
此枚举用于描述预览控件的缩放模式。
| 常量 | 值 | 描述 |
|---|---|---|
QPrintPreviewWidget::CustomZoom | 0 | 缩放比例设置为自定义值。 |
QPrintPreviewWidget::FitToWidth | 1 | 此模式将当前页面调整为适合视图的宽度。 |
QPrintPreviewWidget::FitInView | 2 | 此模式将当前页面调整为适合视图的尺寸。 |
成员函数文档
[explicit] QPrintPreviewWidget::QPrintPreviewWidget(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
基于printer 并以parent 作为父控件,构建一个QPrintPreviewWidget。控件标志flags 将传递给QWidget 的构造函数。
另请参阅 QWidget::setWindowFlags()。
[explicit] QPrintPreviewWidget::QPrintPreviewWidget(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
这将导致 QPrintPreviewWidget 创建一个内部的、通过默认构造函数初始化的QPrinter 对象,该对象将用于生成预览。
这是一个重载函数。
[virtual noexcept] QPrintPreviewWidget::~QPrintPreviewWidget()
int QPrintPreviewWidget::currentPage() const
返回预览中当前显示的页面。
另请参阅 setCurrentPage()。
[slot] void QPrintPreviewWidget::fitInView()
这是一个便捷函数,其效果等同于调用 `setZoomMode(QPrintPreviewWidget::FitInView)`。
[slot] void QPrintPreviewWidget::fitToWidth()
这是一个便捷函数,其效果等同于调用setZoomMode(QPrintPreviewWidget::FitToWidth) 。
QPageLayout::Orientation QPrintPreviewWidget::orientation() const
返回预览的当前方向。该值来自与预览关联的QPrinter 对象。
另请参阅 setOrientation()。
int QPrintPreviewWidget::pageCount() const
返回预览中的页数。
[signal] void QPrintPreviewWidget::paintRequested(QPrinter *printer)
当预览控件需要生成一组预览页面时,会发出此信号。printer 是与该预览控件关联的打印机。
[signal] void QPrintPreviewWidget::previewChanged()
每当预览控件的某些内部状态(例如方向)发生变化时,就会触发此信号。
[slot] void QPrintPreviewWidget::print()
将预览内容打印到与该预览关联的打印机上。
[slot] void QPrintPreviewWidget::setAllPagesViewMode()
这是一个便捷函数,其效果等同于调用setViewMode(QPrintPreviewWidget::AllPagesView) 。
[slot] void QPrintPreviewWidget::setCurrentPage(int page)
将当前页面设置为预览页面。这将使视图跳转至page 的开头。
另请参阅 currentPage()。
[slot] void QPrintPreviewWidget::setFacingPagesViewMode()
这是一个便捷函数,其效果等同于调用setViewMode(QPrintPreviewWidget::FacingPagesView) 。
[slot] void QPrintPreviewWidget::setLandscapeOrientation()
这是一个便捷函数,其效果与调用 `setOrientation(QPageLayout::Landscape)` 相同。
[slot] void QPrintPreviewWidget::setOrientation(QPageLayout::Orientation orientation)
将当前方向设置为orientation 。该值将设置在与预览关联的QPrinter 对象上。
另请参阅 orientation()。
[slot] void QPrintPreviewWidget::setPortraitOrientation()
这是一个便捷函数,其效果等同于调用setOrientation(QPageLayout::Portrait) 。
[slot] void QPrintPreviewWidget::setSinglePageViewMode()
这是一个便捷函数,其效果与调用setViewMode(QPrintPreviewWidget::SinglePageView) 相同。
[slot] void QPrintPreviewWidget::setViewMode(QPrintPreviewWidget::ViewMode mode)
将视图模式设置为mode 。默认视图模式为SinglePageView 。
另请参阅 viewMode()。
[override virtual] void QPrintPreviewWidget::setVisible(bool visible)
[slot] void QPrintPreviewWidget::setZoomFactor(qreal factor)
将视图的缩放因子设置为factor 。例如,值为 1.0 表示未缩放的视图,其大小约等于视图在纸上的实际尺寸。值为 0.5 时,视图大小将减半;值为 2.0 时,视图大小将加倍。
另请参阅 zoomFactor()。
[slot] void QPrintPreviewWidget::setZoomMode(QPrintPreviewWidget::ZoomMode zoomMode)
将缩放模式设置为zoomMode 。默认缩放模式为FitInView 。
另请参阅 zoomMode()、viewMode() 和setViewMode()。
[slot] void QPrintPreviewWidget::updatePreview()
该函数会更新预览,从而触发paintRequested()信号。
QPrintPreviewWidget::ViewMode QPrintPreviewWidget::viewMode() const
返回当前视图模式。默认视图模式为SinglePageView 。
另请参阅 setViewMode()。
qreal QPrintPreviewWidget::zoomFactor() const
返回视图的缩放因子。
另请参阅 ` setZoomFactor()`。
[slot] void QPrintPreviewWidget::zoomIn(qreal factor = 1.1)
将当前视图放大factor 。factor 的默认值为1.1,这意味着视图将放大10%。
QPrintPreviewWidget::ZoomMode QPrintPreviewWidget::zoomMode() const
返回当前的缩放模式。
另请参阅 setZoomMode()、viewMode(),以及setViewMode()。
[slot] void QPrintPreviewWidget::zoomOut(qreal factor = 1.1)
将当前视图缩小factor 倍。factor 的默认值为1.1,这意味着视图将缩小10%。
© 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.