我正在开发一个在Windows上使用Qt库的应用程序。
我希望用户能够配置应用程序应该打印的打印机。所以我的主菜单将包含以下条目:
在其他非Qt应用程序中,我使用带有标志PD_PRINTSETUP的Windows函数PrintDlg。这显示了以下对话框,这正是我想要的:
然而,Qt函数QPrintDialog使用更新的PrintDlgEx函数,如下所示:
此对话框似乎适用于实际打印。不适用于设置和配置打印机。
QPageSetupDialog对我的情况也没有用。它看起来像这样: 因此,这仅对设置页面大小,方向和边距有用。
在Qt中有一个干净的方法来获得一个像样的打印机配置对话框吗?
如果我找不到干净的方法,我需要恢复原生的Windows PrintDlg功能,这意味着修补或复制Qt源代码qprintdialog_win.cpp中的代码。
答案 0 :(得分:1)
我担心您需要恢复原生Windows PrintDlg
功能,因为Qt4正确使用PageSetupDlg
功能进行页面设置。
在Windows中,虽然PrintDlg
可以使用PD_PRINTSETUP
使对话框充当“打印设置”对话框,但不会为新应用程序推荐该功能。
从MS引用:“新应用程序不应使用PrintDlg
来实现此目的。”打印设置“对话框已被PageSetupDlg
功能创建的”页面设置“对话框取代。”