如何扩展Qt打印对话框

时间:2012-10-04 09:13:42

标签: qt printing dialog extending

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

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

似乎Qt在Windows上显示了原生打印对话框,这可能会让它变得更加困难?

1 个答案:

答案 0 :(得分:3)

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

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