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

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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料