我正在使用Windows上使用Qt库的应用程序。QPrintDialog并设置打印机
我希望用户能够配置应用程序应该打印的打印机。所以,我的主菜单将包含以下项目:
- 打印机设置...:应显示一个对话框,用户可以选择和配置打印机
- 打印...:执行实际打印
在其他非Qt应用程序中,我使用了带有标志PD_PRINTSETUP的Windows函数PrintDlg。这显示出下面的对话框,这正是我想要的:
然而,Qt的功能QPrintDialog中使用的更近PrintDlgEx功能,它看起来像这样:
此对话框似乎打算实际打印。不用于设置和配置打印机。
- 它显示一个打印按钮,而不是简单的确定。
- 它包含一个'页面范围'组框,在设置打印机配置时这并不是很有用。
QPageSetupDialog在我的情况下也不是很有用。它看起来像这样: 所以这只能用于设置页面大小,方向和边距。
在Qt中有一个干净的方式来获得体面的打印机配置对话框吗?
如果我找不到干净的方法,我需要恢复到本地Windows PrintDlg函数,这意味着修补或复制Qt源代码qprintdialog_win.cpp中的代码。
有没有试过QPrintPreviewWidget? – 2011-06-16 13:26:11
我不想预览我的打印输出。我只想让用户选择并配置打印机,而无需打印,因此我可以将选定的打印机及其配置保存在我的应用程序的配置文件中或我的数据文件中。 – Patrick 2011-06-16 13:42:17
我只是猜测在这里,但你可以通过一些选项禁用打印按钮?然后你可以只保留“应用”和“取消”按钮,也许你就可以得到你想要的。即使我不打印任何atm,我也对所有Qt相关的东西感兴趣:) – 2011-06-16 13:48:23