QPrintPreviewWidget Class
QPrintPreviewWidget 类提供了一个用于预览打印机输出页面布局的 widget。更多
Header: | #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 的目的是将预览嵌入到其他窗口小部件中。QPrintPreviewWidget 的目的是将预览嵌入到其他窗口小部件中,同时还可以在其周围构建与 默认用户界面不同的用户界面。QPrintPreviewDialog
使用 QPrintPreviewWidget 非常简单:
- 创建 QPrintPreviewWidget
通过传入一个现有的QPrinter 对象来构建 QPrintPreviewWidget,或者让 QPrintPreviewWidget 为您创建一个默认构建的QPrinter 对象。
- 将paintRequested() 信号连接到一个插槽。
当窗口部件需要生成一组预览页面时,窗口部件将发出paintRequested() 信号。将一个插槽连接到该信号,并绘制到作为信号参数传递进来的QPrinter 上。调用QPrinter::newPage() 开始预览新页面。
另请参阅 QPrinter,QPrintDialog,QPageSetupDialog 和QPrintPreviewDialog 。
成员类型文档
enum QPrintPreviewWidget::ViewMode
该枚举用于描述预览 widget 的视图模式。
常量 | 值 | 描述 |
---|---|---|
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 为基础构建 QPrintPreviewWidget,并将parent 作为父 widget。部件标志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%。
© 2025 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.