打印
应用程序一般都有打印功能,可以将重要内容打印成纸质资料。PySide支持打印操作,它可以识别系统中已经安装的打印机,驱动打印机进行工作,可以用与打印机有关的类直接打印,也可通过打印对话框进行打印,还可对打印的内容在打印前进行打印预览。与打印有关的类主要在QtPrintSupport模块中。
PySide提供识别打印机硬件的类QPrinterInfo和进行打印的类QPrinter,将QPrinter 作为QPainter的绘图设备,可以将图形、文字和图像等用打印机进行输出,保存到纸质介质上。
打印机信息 QPrinterInfo
打印机信息QPrinterInfo代表本机上可以使用的一台打印机,通过QPrinterInfo可以获取打印机的参数。用QPrinterInfo创建打印机信息实例对象的方法如下所示。
from PySide6.QtPrintSupport import QPrinterInfo
QPrinterInfo(self)-> None
QPrinterInfo(Other: PySide6.QtPrintSupport.QPrinterInfo)-> None
QPrinterInfo(printer: PySide6.QtPrintSupport.QPrinter)-> None
QPrinterInfo()
打印机信息QPrinterInfo的常用方法如表所示
QPrinterInfo的方法及参数类型 | 返回值的类型 | 说 明 |
---|---|---|
[static]availablePrinterNames() | List[str] | 获取可用的打印机名称列表 |
[static]availablePrinters() | List[QPrinterInfo] | 获取可用的打印机列表 |
[static]defaultPrinter() | QPrinterInfo | 获取当前默认的打印机 |
[static]defaultPrinterName() | str | 获取当前默认打印机的名称 |
[static]printerInfo(printerName: str) | QPrinterInfo | 根据打印机名称获取打印机 |
isDefault() | bool | 获取是否是默认的打印机 |
isNull() | bool | 获取是否不含打印机信息 |
isRemote() | bool | 获取是否是远程网络打印机 |
defaultColorMode() | QPrinter.ColorMode | 获取打印机默认的颜色模式 |
defaultDuplexMode() | QPrinter.DuplexMode | 获取默认的双面打印模式 |
description() | Str | 获取对打印机的描述信息 |
location() | Str | 获取打印机的位置信息 |
makeAndModel() | str | 获取打印机的制造商和型号 |
defaultPageSize() | QPageSize | 获取默认的打印纸尺寸 |
maximumPhysicalPageSize() | QPageSize | 获取支持的最大打印纸尺寸 |
minimumPhysicalPageSize() | QPageSize | 获取支持的最小打印纸尺寸 |
printerName() | str | 获取打印机的名称 |
state() | QPrinter.PrinterState | 获取打印机的状态 |
supportedColorModes() | List[QPrinter.ColorMode] | 获取打印机支持的颜色模式 |
supportedDuplexModes() | List[QPrinter.DuplexMode] | 获取打印机支持的双面模式 |
supportedPageSizes() | List[QPageSize] | 获取打印机支持的打印尺寸 |
supportedResolutions() | List[int] | 获取打印机支持的打印质量 |
supportsCustomPageSizes() | bool | 获取打印机是否支持自定义打 印纸尺寸 |
打印机信息QPrinterInfo的常用方法主要方法介绍如下。
-
用QPrinterInfo提供的静态方法 availablePrinterNames()和 availablePrinters()可分别获取本机上的打印机名称列表和打印机列表;
-
用静态方法defaultPrinter()和defaultPrinterName()可分别获取默认的打印机和默认打印机的名称。
-
用isNull()方法获取QPrinterInfo()对象是否不含打印机信息,例如本机上如果没有安装打印机,则用defaultPrinter()方法获得的打印机是无效的。
-
用defaultColorMode()方法获取打印机默认的颜色模式,返回值是 QPrinter.ColorMode 的枚举值,可取:
- QPrinter.GrayScale(值为 0)
- QPrinter.Color(值为 1)。
用defaultDuplexMode()方法获取打印机默认的双面打印模式,返回值是 QPrinter.DuplexMode 的枚举值,可取:
- QPrinter.DuplexNone(单 面 模 式) - QPrinter.DuplexAuto(用打印机的默认设置来决定是单面模式还是双面模式) - QPrinter.DuplexLongSide(双面模式,打印第2面前沿纸张长边翻面) - QPrinter.DuplexShortSide(双面模式,打印第2面前沿纸张短边翻面),对应值分别是0~3。
-
用state()方法获取打印机当前的状态,返回值是 QPrinter.PrinterState,可取以下值,对应值分别是0~3。
- QPrinter.Idle
- QPrinter.Active
- QPrinter.Aborted(已取消)
- QPrinter.Error