QPrinter with QPainter, Painting an image from qml to pdf

  • Hi i am having some difficulty painting an image with QPainter, I am calling my function from qml, my image size is A4 regular format which is an image generated from a grabToImage.

    I am passing the arguments filename, and imagesourceurl (The grabtoImage result url..)

    I am working in qml and i have a custom plugin that handles all my FileIO, databases, however for some reason i cant get this to work... The image size is the proper pixel size of a full A4 sheet so i am expecting the image to simply cover the area and keep things simple.

    Component size is 2550x - 3300y pixels

    bool FileIO::printToPDF(const QString& imgfilename, const QString& filename) {
        QImage img(imgfilename, Q_NULLPTR);
        QPrinter printer(QPrinter::HighResolution);
        if (filename.isEmpty()) return false;
        printer.setOutputFileName(filename + ".pdf");
        QPainter paint(&printer);
        return true;

    I am getting a pdf document created in the correct working directory form my FileIO plugin however the document is blank... What am I missing. I cant seem to find a lot of examples on using QPrinter and QPainter

  • Moderators

    @arozon You should check whether img is a valid picture with http://doc.qt.io/qt-5/qimage.html#isNull

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.