QPixmap - ładowanie ścieżek do plików z QStringList



  • Witam, tak, jak w temacie próbuje załadować listę ścieżek do obrazów z QStringList. Niestety, tylko dla ostatniej iteracji pętli przypisywana jest ścieżka, co ukazuje niniejsza wartość qDebug:

    QPixmap(null)
    QPixmap(null)
    QPixmap(null)
    QPixmap(null)
    QPixmap(QSize(1024, 768),depth=32,devicePixelRatio=1,cacheKey=0x5800000302)

    poniżej zamieszczam fragment kodu:

    void MainWindow::createPDF(QString fileName, QStringList imagePathList)
    {
        QPdfWriter pdfWriter(fileName);
        pdfWriter.setPageSize(QPagedPaintDevice::A4);
        bool newPage = false;
    
        QPainter painter;
        painter.begin(&pdfWriter);
    
        foreach(const QString &str, imagePathList)
        {
            QPixmap pixmap(str);
    
            if(newPage)
                pdfWriter.newPage();
            newPage = true;
    
            painter.drawPixmap(QRect(0,0,pdfWriter.logicalDpiX()*8.3,pdfWriter.logicalDpiY()*11.7),pixmap);
            qDebug() << pixmap;
        }
        painter.end();
    }
    

    Z góry dziękuję za pomoc i pozdrawiam.



  • Jeśli jesteś przekonany, że w QStringList znajdują się ścieżki a nie puste QStringi to innym problemem może być:
    If the file does not exist or is of an unknown format, the pixmap becomes a null pixmap.
    źródło: dokumentacja



  • Dzięki za szybką odpowiedź.
    Problem rozwiązany zamiast QPixmap, użyłem QImage i metody drawImage().
    Nadal nie mam pojęcia dlaczego QPixmap nie działa. QStringList zawiera ścieżki, a obrazy są formatu .jpg


Log in to reply
 

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