Új hozzászólás Aktív témák

  • Davs

    tag

    Hali!
    Lenne egy Qt-s memory managmentes kerdesem memory leakkel kapcsolatban. Van egy Dialogom, a constructorjaban ez all:

    QStandardItemModel *model = new QStandardItemModel(0,numCols,this) ;

    Ugye mivel most megadom parentnek (3. parameter) a this-t, ezert ha bezarodik a program, vagy a Dialog bezarul, akkor az automatikusan torli a child elemeit, koztuk a model-t is.
    Ha ezt a model-t beallitom pl egy QTableView modeljenek, akkor minden egyes "cellaban" egy pointer lesz egy QStandardItem-re. Ezek az elemek ugyebar a QStandardItemModel childjei lesznek, tehat ha a Dialogom bezarult, torli a childjeit-> modelt, ami szinten torli az o childjeit, azaz a cellak egyes elemeit.
    Mi tortenik azonban, ha meghivok egy
    model->setItem(row,1,new QStandardItem(QString("Hello")));
    Ilyenkor, ha a setItem elott nem hivom meg a delete-t arra a bizonyos cellara, akkor az torlodik magatol, vagy memory leak keletkezik? (termeszetesen a "magatol torlodest" ugy ertem, hogy a Qt automatikusan torli-e helyettem)

Új hozzászólás Aktív témák