我正在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?
答案 0 :(得分:0)
我找到了解决方案:
self.mEditor = QTextEdit()
self.mEditor.setFont(font)
self.printer = QPrinter(QPrinterInfo.defaultPrinter())
self.mEditor.document().print_(self.printer)