0

是否可以使用其他 UI 元素扩展 Qt 打印对话框 (QPrintDialog),因为它可以通过 PD_ENABLEPRINTTEMPLATE 宏在 MFC 中完成?请参阅此链接

我在 Qt 文档中没有找到任何关于此的内容。

似乎 Qt 在 Windows 上显示了本机打印对话框,这可能使它变得更加困难?

4

1 回答 1

3

这在平台中立的方式中是不可能的。对于QFileDialog,您可以对其进行子类化(在这种情况下,Qt 会自动在所有平台上使用非本地对话框)并将 UI 元素添加到布局中。在 X11 上,这也适用于QPrintDialog,但在 WIN32 上,有一个完全独立的源代码 (src/gui/dialogs/qprintdialog_win.cpp),它调用PrintDlgExWindows API 函数。不存在可以在 Windows/MacOS 上使用的 QPrintDialog 的平台无关实现。

我会考虑以这样一种方式设计 UI,即应用程序的“打印”操作显示一个包含所有应用程序特定设置的对话框,可能包括预览,其中包含一个按钮,用于打开 QPrintDialog 以选择打印机并设置任何打印机特定属性。

于 2012-10-04T10:06:46.970 回答