2017-10-17 15 views
-2

In qtQuick Source。機能のloadImage内のコードの1行があります:qtQuickソースコード内のloadImage関数

QQuickPixmap* pix = new QQuickPixmap(); 

私は絵の原因となります入力されます。このアプリケーションに、オペレーティング・システムによって割り当てられたcanvas.Theメモリ、上可能な限り、この関数を呼び出した場合このソースコードに問題があるかどうか尋ねたいと思います。

void QQuickCanvasItem::loadImage(const QUrl& url) 
{ 

    Q_D(QQuickCanvasItem); 
    QUrl fullPathUrl = d->baseUrl.resolved(url); 
    if (!d->pixmaps.contains(fullPathUrl)) { 
     QQuickPixmap* pix = new QQuickPixmap(); 
     QQmlRefPointer<QQuickCanvasPixmap> canvasPix; 
     canvasPix.adopt(new QQuickCanvasPixmap(pix)); 
     d->pixmaps.insert(fullPathUrl, canvasPix); 

     pix->load(qmlEngine(this) 
       , fullPathUrl 
       , QQuickPixmap::Cache | QQuickPixmap::Asynchronous); 
     if (pix->isLoading()) 
      pix->connectFinished(this, SIGNAL(imageLoaded())); 
    } 
} 

答えて

-3
void QQuickCanvasItem::loadImage(const QUrl& url) 
{ 

    Q_D(QQuickCanvasItem); 
    QUrl fullPathUrl = d->baseUrl.resolved(url); 
    if (!d->pixmaps.contains(fullPathUrl)) { 
     QQuickPixmap* pix = new QQuickPixmap(); 
     QQmlRefPointer<QQuickCanvasPixmap> canvasPix; 
     canvasPix.adopt(new QQuickCanvasPixmap(pix)); 
     d->pixmaps.insert(fullPathUrl, canvasPix); 

     pix->load(qmlEngine(this) 
       , fullPathUrl 
       , QQuickPixmap::Cache | QQuickPixmap::Asynchronous); 
     if (pix->isLoading()) 
      pix->connectFinished(this, SIGNAL(imageLoaded())); 
    } 
} 
関連する問題