【问题标题】:How to detect if a printer is conected with pyqt?如何检测打印机是否与pyqt连接?
【发布时间】:2016-05-25 01:54:52
【问题描述】:

我正在 Linux 中编写一个 Windows 应用程序。在这一刻,我需要一个解决方案来检测是否连接了默认打印机。 我有下一个代码:

def mPrint(self, value):
    font = QFont()
    font.setPointSize(10)

    self.mEditor = QTextEdit()
    self.mEditor.setFont(font)

    self.printer = QPrinter(QPrinterInfo.defaultPrinter())
    self.printer.setColorMode(QPrinter.GrayScale)
    self.printer.setPageMargins(7, 20, 7, 7, QPrinter.Millimeter)
    self.printer.setOrientation(QPrinter.Portrait)

    try:
        if value == 1:
            self.printCommand()
        else:
            self.printDelivery()
    except self.printer.Error as e:
        print(e)

使用 QPrinterInfo 我可以获得默认打印机并知道它是否存在。

QPrinterInfo.defaultPrinter().isNull()

但它总是返回 true,因为我的 PC 中有一个默认打印机,但如果它没有连接,一切都会进入打印机队列。

有谁知道如何识别打印机是否已连接,如果出现异常如何显示 Qmessage?

【问题讨论】:

  • 如果 QPrinter.printerState() 没有返回有用的信息,我建议您查看其他 Python 库,您可能可以使用它来检查打印机状态。
  • 我尝试使用printerState() 但总是返回0

标签: python printing pyqt4


【解决方案1】:

我找到了解决办法:

 self.mEditor = QTextEdit()
 self.mEditor.setFont(font)

 self.printer = QPrinter(QPrinterInfo.defaultPrinter())
 self.mEditor.document().print_(self.printer)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多