Próbuję więc dynamicznie tworzyć listę reguł w wersji ListModel
. Działa to dobrze, dopóki nie spróbuję napisać niektórych treści w ListElements do dynamicznego ładowania.Dynamicznie twórz QML ListElement i zawartość
Próbowałem utworzyć własny plik z ListElement
wewnątrz i godzinę jako właściwość, ale model następnie dostałem błąd, mówiąc, że ListElement nie może być zagnieżdżony.
Błąd na prowadzenie poniższy kod to:
nie można przypisać do nieistniejącej właściwości „godzinę”
Jak mogę rozwiązać ten problem?
Kod:
import QtQuick 2.0
ListModel
{
id: listModel
Component.onCompleted:
{
for (var i = 0; i < 24; i++)
{
var object = createListElement(listModel)
}
}
function createListElement(parent)
{
var object = Qt.createQmlObject('import QtQuick 2.0; ListElement { hour: "01" }', parent);
return object;
}
}
EDIT: zmienić linię kodu w funkcji do:
var object = Qt.createQmlObject('import QtQuick 2.0; ListElement { property string hour: "23" }', parent);
Teraz otrzymuję żadnych błędów, ale elementy są nadal nie pokazując w Lista.
ROZWIĄZANIE:
import QtQuick 2.0
ListModel
{
id: listModel
Component.onCompleted:
{
for (var i = 0; i < 24; i++)
{
append({ hour: i.toString() })
}
}
}
co zrobiłeś prace tutaj też. Dzięki. – Phat