Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Qt 6
  4. Qt6.24 QPrintPreViewDialog issues
Qt 6.11 is out! See what's new in the release blog

Qt6.24 QPrintPreViewDialog issues

Scheduled Pinned Locked Moved Solved Qt 6
1 Posts 1 Posters 348 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sam1990S Offline
    Sam1990S Offline
    Sam1990
    wrote on last edited by
    #1

    hi ,
    i used IED Qt6.24 to design a function that display file preview with QPrintPreViewDialog widget,it previewed nothing,it's so weirod,codes showed below:
    void MainWindow::on_ActionPrintView_Clicked(void)
    {
    QPrinter printer;

    printer.setPageSize(QPageSize::A4);
    printer.setFullPage(true);
    //printer.setOutputFormat(QPrinter::NativeFormat);
    printer.setPageOrientation(QPageLayout::Portrait);
    //QMarginsF pageMargins(20,20,20,20);
    //printer.setPageMargins(pageMargins,QPageLayout::Millimeter);
    
    QPrintPreviewDialog preview(&printer,this,Qt::Window);
    preview.showNormal();
    connect(&preview,&QPrintPreviewDialog::paintRequested,this,&MainWindow::previewPaint);
    preview.exec();
    

    }
    void MainWindow::previewPaint(QPrinter *printer)
    {

    qDebug()<<"you clicked preview button!";
    //QPainter p(printer);
    //p.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform,true);
    //printer->newPage();
    QCPDocumentObject *plotObjectHandler=new QCPDocumentObject(this);
    QTextCursor cursor;
    QTextDocument doc;
    doc.documentLayout()->registerHandler(QCPDocumentObject::PlotTextFormat,plotObjectHandler);
    cursor.insertText(QString(QChar::ObjectReplacementCharacter), QCPDocumentObject::generatePlotFormat(ui->plot, ui->plot->width(), ui->plot->height()));
    
    doc.print(printer);
    
    //p.drawText(20,20,"textdoc.toPlainText()");
    

    }

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved