Qt的打印机Demo

先看看小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();

 

©️2020 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值