QPrintDialog Class
QPrintDialog 类提供了一个用于指定打印机配置的对话框。更多
头文件: | #include <QPrintDialog> |
CMake.QPrintDialog | find_package(Qt6 REQUIRED COMPONENTS PrintSupport) target_link_libraries(mytarget PRIVATE Qt6::PrintSupport) |
qmake: | QT += printsupport |
继承: | QAbstractPrintDialog |
- 所有成员(包括继承成员)的列表
- QPrintDialog 是标准对话框和打印机及打印 API 的一部分。
属性
- options : PrintDialogOptions
公共函数
QPrintDialog(QWidget *parent = nullptr) | |
QPrintDialog(QPrinter *printer, QWidget *parent = nullptr) | |
virtual | ~QPrintDialog() |
void | open(QObject *receiver, const char *member) |
QAbstractPrintDialog::PrintDialogOptions | options() const |
QPrinter * | printer() |
void | setOption(QAbstractPrintDialog::PrintDialogOption option, bool on = true) |
void | setOptions(QAbstractPrintDialog::PrintDialogOptions options) |
bool | testOption(QAbstractPrintDialog::PrintDialogOption option) const |
重新实现的公共函数
virtual void | done(int result) override |
virtual int | exec() override |
virtual void | setVisible(bool visible) override |
信号
void | accepted(QPrinter *printer) |
详细说明
该对话框允许用户更改与文档相关的设置,如纸张大小和方向、打印类型(彩色或灰度)、页数范围和打印份数。
该对话框还提供了控件,使用户能够从可用的打印机(包括任何配置的网络打印机)中进行选择。
通常,QPrintDialog 对象由QPrinter 对象构建,并使用exec() 函数执行。
QPrintDialog printDialog(printer, parent); if (printDialog.exec() == QDialog::Accepted) { // print ... }
如果对话框被用户接受,则QPrinter 对象已正确配置为打印。
![]() | ![]() |
通过打印机对话框(如上图所示的 Plastique 风格),可以访问常用打印属性。在使用 CUPS 打印系统的 X11 平台上,可以通过对话框的Properties 按钮修改每台可用打印机的设置。
在 Windows 和 macOS 上,使用的是本地打印对话框,这意味着对话框上设置的某些QWidget 和QDialog 属性将不会得到尊重。macOS 上的本地打印对话框不支持设置打印机选项,即setOptions() 和setOption() 没有任何作用。
在 Qt 4.4 中,可以使用静态函数在 macOS 上显示工作表。Qt 4.5 不再支持这一功能。如果您需要此功能,请使用QPrintDialog::open() 。
另请参阅 QPageSetupDialog 和QPrinter 。
属性文档
options : PrintDialogOptions
该属性包含影响对话框外观的各种选项
默认情况下,所有选项都是禁用的。
应在显示对话框之前设置选项。在对话框可见时设置这些选项,并不能保证立即对对话框产生影响(取决于选项和平台)。
访问功能:
QAbstractPrintDialog::PrintDialogOptions | options() const |
void | setOptions(QAbstractPrintDialog::PrintDialogOptions options) |
另请参阅 setOption() 和testOption()。
成员函数文档
[explicit]
QPrintDialog::QPrintDialog(QWidget *parent = nullptr)
使用给定的parent 构建打印对话框。
[explicit]
QPrintDialog::QPrintDialog(QPrinter *printer, QWidget *parent = nullptr)
为给定的printer 和给定的parent 构建一个新的模式打印机对话框。
[virtual noexcept]
QPrintDialog::~QPrintDialog()
销毁打印对话框。
[signal]
void QPrintDialog::accepted(QPrinter *printer)
当用户接受打印对话框中设置的值时会发出该信号。printer 参数包括应用设置的打印机。
[override virtual]
void QPrintDialog::done(int result)
重实现:QDialog::done(int r)。
关闭对话框并将其结果代码设为result 。如果使用exec() 显示此对话框,done() 将导致本地事件循环结束,exec() 将返回result 。
注意: 此函数不适用于 Mac macOS 和 Windows 平台上的本地打印对话框,因为该对话框必须是模式对话框,只有用户才能关闭它。
另请参阅 QDialog::done()。
[override virtual]
int QPrintDialog::exec()
重新实现:QDialog::exec().
void QPrintDialog::open(QObject *receiver, const char *member)
这是一个重载函数。
打开对话框,并将accepted() 信号连接到receiver 和member 指定的槽。
关闭对话框时,信号将从槽中断开。
QPrinter *QPrintDialog::printer()
返回打印机对话框所使用的打印机。这在使用QPrintDialog::open() 方法时非常有用。
void QPrintDialog::setOption(QAbstractPrintDialog::PrintDialogOption option, bool on = true)
如果on 为 true,则设置option 为启用状态;否则,清除给定的option 。
另请参阅 options 和testOption()。
[override virtual]
void QPrintDialog::setVisible(bool visible)
重实现:QDialog::setVisible(bool visible)。
bool QPrintDialog::testOption(QAbstractPrintDialog::PrintDialogOption option) const
如果给定的option 已启用,则返回true
;否则返回 false。
© 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.