Qt中的打印操作

Qt的打印功能由printsupport模块提供,需要在pro文件中添加相应支持。关键类包括QPageSetupDialog(配置页面)、QPrintDialog(打印对话框)、QPrintPreviewDialog(预览对话框)、QPrinter(打印设备)和QPrinterInfo(获取打印机信息)。通过QPrinter,程序可将内容发送至打印机。预览功能是将内容显示在屏幕上,实现中使用了C++11的lambda表达式。
摘要由CSDN通过智能技术生成

Qt中对打印的支持是有一个独立的printsupport模块来完成的,所以,要想在程序中使用Qt的打印功能,必须先在pro文件中添加下面这句代码:

QT       += printsupport
在这个模块中,提供了八个类来支持打印功能。我们来简单的看几个与打印有直接关系的几个类:

  • QPageSetupDialog:该类可以用来对打印页面进行一些相关的配置,如页面方向,边距等。
  • QPrintDialog:该类就代表我们常见的打印对话框。
  • QPrintPreviewDialog:该类代表打印预览对话框。可以在此对话框中看到我们对页面的设置效果。
  • QPrinter:可以简单的理解为用于打印的绘图设备。
  • QPrinterInfo:可以使用该类来获得当前电脑上所连接的可用的打印设备的信息。
下面,我们通过实例来实际了解一下这几个类的使用。
新建一个GUI程序,往界面上拖入一个列表框和4个按钮。效果如下:


下面,我们要完成的功能是,点击“PrinterInfo”按钮,将当前电脑可用的所有打印设备的信息加载到文本框中,然后,再将这些信息打印出来。
先来看“PrinterInfo”按钮的功能代码:
//Printer Info
void Widget::on_printerinfo_clicked()
{
    QString info;
    list = QPrinterInfo::availablePrinters();
    for(const QPrinterInfo& printerInfo : list)
    {
        info = "defaultDuplexMode: ";
        switch (printerInfo.defaultDuplexMode())
        {
        case QPrinter::DuplexNone:
            info += "DuplexNone";
            break;
        case QPrinter::DuplexAuto:
            info += "DuplexAuto";
            break;
        case QPrinter::DuplexLongSide:
            info += "DuplexLongSide";
            break;
        case QPrinter::DuplexShortSide:
            info += "DuplexShortSide";
            break;
        }
        ui->listWidget->addItem(info);

        info = "defaultPageSize: ";
        info += printerInfo.defaultPageSize().name();
        ui->listWidget->addItem(info);

        info = "description: ";
        info += printerInfo.description();
        ui->listWidget->addItem(info);

        info = "isDefault: ";
        info += printerInfo.isDefault() ? "true" : "fa
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值