我需要知道我的打印机何时完成打印文档。 在这个特定的情况下,我使用QT 5.2和Qprinter类,但我没有看到我能在哪里完成事件。 我在Windows 7/8电脑上,也许这个想法是使用打印机队列..请一些想法?
没有准确的方法来检测打印机的状态,因为一些打印机不具有向操作系统报告其状态的能力。
但是您可以通过以下方式获取打印机的当前状态:
PrinterState QPrinter::printerState() const
它返回空闲,活动,中止和错误。 我认为,如果打印机状态从活动状态变为闲置状态,那么工作完成。 因此,您可以定期检查计时器事件中打印机的状态,并且如果状态从活动状态变为闲置状态,则可以发出显示打印完成的信号: