who_am_i_2015 2016-03-25 00:12 采纳率: 0%
浏览 3109
已结题

Qt5打印,却生成PDF文档

在自己机器上运行好好的,打印预览都OK,但是打包后去别的机器上后,点击打印后,预览界面还是正常的,但是选择打印机那个标准提示框不见了,点击打印那个按钮,直接让我保存为PDF格式文件,怎么回事??
电脑打印机可以使用,打印机也设置为默认了
void Print::printInfor(int n)
{
/* QPrinter printer( QPrinter::PrinterResolution );

 printer.setPageSize(QPrinter::A4);
 printer.setOrientation(QPrinter::Portrait);

 QPrintDialog dialog( &printer );
 if ( dialog.exec() )
 {
     qDebug("ERROR");
 }
 */
QPrinter printer(QPrinter::ScreenResolution);
QPrintPreviewDialog preview(&printer, this);
preview.setWindowState(Qt::WindowMaximized);

ui->stackedWidget->setCurrentIndex(n);  //打印“印刷生产订单”
connect(&preview, SIGNAL(paintRequested(QPrinter*)), SLOT(printPreview(QPrinter*)));
preview.exec();

}

void Print::Zhibiao_filePrintPreview()//治标
{
printInfor(2);
}

void Print::printPreview(QPrinter *printer)
{
QPainter painter(printer);
QPixmap image;
image = this->grab(QRect( QPoint( 0, 0 ), QSize( -1, -1 ) ));
//QPixmap image;
//image = image.grabWidget(this, 0, 0, 1005, 1283);
QRect rect = painter.viewport();
QSize size = image.size();
size.scale(rect.size(), Qt::KeepAspectRatio);//此处保证图片显示完整
painter.setViewport(rect.x(), rect.y(), size.width(), size.height());
painter.setWindow(image.rect());
painter.drawPixmap(0, 0, image);
}
复制代码

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换