linux下qt获取打印机的paper source信息,并修改为自定义的paper source
时间: 2024-01-23 22:04:06 浏览: 87
要获取打印机的paper source信息,可以使用QPrinterInfo类的静态函数availablePrinters()获取所有可用的打印机信息,再通过QPrinter类的setPaperSource()函数设置打印机的paper source。
示例代码:
```
QList<QPrinterInfo> printers = QPrinterInfo::availablePrinters();
foreach (QPrinterInfo printer, printers) {
qDebug() << "Printer name: " << printer.printerName();
qDebug() << "Paper sources: " << printer.supportedPaperSources();
QPrinter p(QPrinter::HighResolution);
p.setPrinterName(printer.printerName());
p.setPaperSource(QPrinter::Middle);
qDebug() << "Current paper source: " << p.paperSource();
}
```
以上代码会遍历所有可用的打印机,输出打印机的名称和支持的paper source,然后将当前打印机的paper source设置为Middle,并输出当前的paper source。
要修改打印机的paper source为自定义的值,可以使用QPrintEngine类的setPaperSource()函数,例如:
```
QPrinter p(QPrinter::HighResolution);
p.setPrinterName("My Printer");
p.setPaperSource(QPrinter::Custom);
p.setPaperSourceName("My Custom Paper Source");
QPrintEngine *engine = p.printEngine();
engine->setPaperSource(QPrinter::Custom);
engine->setPaperSourceName("My Custom Paper Source");
```
以上代码将打印机的paper source设置为Custom,并将其名称设置为"My Custom Paper Source"。注意,要修改打印机的paper source,必须先设置QPrinter对象的打印机名称和paper source。
阅读全文