QPrintDialog Class
QPrintDialog 类提供了一个用于指定打印机配置的对话框。更多内容...
| 头文件: | #include <QPrintDialog> |
| CMake: | 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。
© 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.

