我需要知道我的打印机什么时候打印完文档。在这种特殊情况下,我使用QT 5.2和Qprinter类,但我不知道在哪里我可以完成事件。我用的是Windows 7/8电脑,也许这个想法是使用打印机队列。请给点主意??
由于某些打印机没有向操作系统报告其状态的能力,因此没有准确的方法来检测打印机的状态。
但是您可以通过以下方式获得打印机的当前状态:
PrinterState QPrinter::printerState() const
返回空闲、活动、中止和错误。我认为如果打印机状态从Active变为Idle,那么任务就完成了。所以你可以在一个定时器事件中定期检查打印机的状态如果状态从Active变为Idle那么你可以发出一个信号表明打印完成了: