打印对打印机来说太大

问题描述

我正在使用 QPrinter 在小部件中传递一些信息并将其打印在我的打印机上,我想要它的大小,但是它不在乎我是否在对话框中设置了大小,它只是打印太大了,就像是一个 11x14 英寸的页面,所有内容都超出了边界。

我的代码如下,它工作正常,并设法打印我需要的东西,首先我声明一个paintEvent来处理我的小部件上的“绘画”并且它完美地工作

void cuadro::paintEvent(QPaintEvent *event){   
    QPainter p(this); 
    pintarCarta(p);  
 }

我还声明了一个名为 pintarCarta(QPainter &painter) 的函数,它拥有我需要的一切(稍后我将传递一个向量(QString))

void cuadro::pintarCarta(QPainter &painter){

    QPen pen;  // Dinamicos
    QPen pen2; // Estaticos                       declara la qpen para los ajustes de lineas
    // painter.begin(&printer);  // inicializa el dispositivo para impresion,terminar con painter.end
    QPixmap Imagen;
    
    pen2.setColor(Qt::green);   // color de linea
    pen2.setWidth(2); // ancho de linea
    
//    const QRect rectangle = QRect(0,850,1000);  // rectangulo general donde va todo
    QRect boundingRect;
    
    Imagen.load("Imagenes/Logo.png");
    //painter.setBackgroundMode(Qt::TransparentMode);
    painter.drawPixmap(QRect(0,80,60),Imagen,QRect(0,70,40));
    QFont font = painter.font();
    
    font.setPixelSize(28);  //  usar una variable
    painter.setFont(font);
    painter.drawText(QRect(318,200,520,300),tr("Entrada de Almacen"),&boundingRect); // 
    ...
    ...
    ...
   }

然后当我看到一切正常时,我只需将它传递给 Qprinter 对话框,一切看起来都很好,它会打印出来。但它对于一封信来说太大了,知道它可能是什么吗?我对这个有点迷茫,文档也没有多大帮助。

void cuadro::Imprimir(){
     
    QPrinter *printer;
    QPrintDialog dialog(this);
    printer = dialog.printer();
    printer->setFullPage(true);
    printer->setPaperSize(QPrinter::Letter);  // cant set the correct paper size,prints in 11x14in format
    
    dialog.setWindowTitle("Impresion de Documento");
    if (dialog.exec() == QDialog::Rejected)
        return;
    
    QPainter e(printer);
    pintarCarta(e);
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...