Pergunta

Eu tenho um componente embutido como

Component {
    id: movie_delegate
    MovieListItem {
        movie: movie
    }
}

Agora estou tentando criar um novo objeto como

movie_delegate.createObject

Mas esse método não existe. Mas se eu fizer assim:

var comp = Qt.createComponent("MovieListItem.qml");
var o = comp.createObject(model);

Tudo funciona bem.

Foi útil?

Solução 2

Esse problema desapareceu quando eu corrigi outro erro, o que é um pouco estranho, já que eles não estavam relacionados, mas pode ser que eu simplesmente não veja a relação.De qualquer forma, a questão está encerrada.

Outras dicas

Não inline o componente, mas use Qt.createQmlObject com uma string.

por exemplo(de http://doc.qt.nokia.com/4.7-snapshot/qdeclarativedynamicobjects.html#creating-an-object-from-a-string-of-qml )

var newObject = Qt.createQmlObject('import QtQuick 1.0; MovieListItem {movie: movie}', parentItem, "dynamicSnippet1");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top