Qt的打印机Demo

xiaoxiao2021-02-28  97

先看看小Demo的效果:

 

总结:

1、QPrinterInfo类(提供了简单的打印机的信息,比如打印机的个数、各个打印机的名字、默认打印机名字等等)

代码:

    QPrinterInfo info;     QString name = info.defaultPrinterName(); // 默认打印机名字     QStringList list = info.availablePrinterNames(); // 各个打印机名字     QPrinter::DuplexMode mode = info.defaultDuplexMode();// 返回此打印机的默认双面打印模式。     enum DuplexMode {         DuplexNone = 0,         DuplexAuto,         DuplexLongSide,         DuplexShortSide     };

2、QPageSetupDialog类(打印机页面设置)

代码:

    QPrinter printer;     QPageSetupDialog* setup = new QPageSetupDialog(&printer, this);     if (setup->exec() == QDialog::Accepted) {         printer.setOrientation(QPrinter::Landscape);     } else {         printer.setOrientation(QPrinter::Portrait);     }

 

3、QPrintDialog打印机选择类,它也可以通过点击-首选项-然后选择-页面设置,就可以包含QPageSetupDialog类

代码:    

    QPrinter printer;     QPrintDialog printDialog(&printer, this);     if (printDialog.exec()) {         ui->textEdit->print(&printer);     }

 

4、QPrintPreviewDialog打印预览类、包含以上所有类的内容。

代码:

    QPrinter printer;     QPrintPreviewDialog preview(&printer, this);// 创建打印预览对话框     connect(&preview, &QPrintPreviewDialog::paintRequested, [=](QPrinter *printer) {         ui->textEdit->print(printer);     }); // 当要生成预览页面时,发射paintRequested()信号     preview.exec();

 

转载请注明原文地址: https://www.6miu.com/read-69148.html

最新回复(0)