J'ai un QML qui représentent le calendrier, qui obtiennent des valeurs de la base de données, donc j'ai besoin d'insérer des valeurs à ListModel
à partir de mon code python. QML ressemble à ça:Définir les éléments à QML ListModel dynamicaly avec PyQt
function append(newElement) {
scheduleList.model.append(newElement)
}
ListView {
id: scheduleList
model: scheduleModel
delegate: scheduleItem
section.property: "day"
section.delegate: sectionDelegate
}
Component {
id: scheduleItem
Rectangle {
Row {
spacing: 15
Text {
text: lesson
}
Text {
text: subject
}
}
}
}
Component {
id: sectionDelegate
Rectangle {
id: root
Text {
id: label
text: section
}
}
}
Je fonction, qui devrait insérer des valeurs à QML ListModel:
class ScheduleView(QObject):
def __init__(self, parent=None):
QObject.__init__(self, parent=parent)
self._presenter = SchedulePresenter(self)
self._widget = QQuickWidget(parent)
self._widget.rootContext().setContextProperty('scheduleView', self)
self._widget.rootContext().setContextProperty('groupsModel', self)
self._widget.setSource(QUrl('modules/schedule/Form.qml'))
def reprSchedules(self):
values = [{"lesson": "1", "subject": "PE", "day": "Monday"},
{"lesson": "2", "subject": "PE", "day": "Monday"},
{"lesson": "3", "subject": "PE", "day": "Monday"}]
#model = self._widget.rootObject().findChild(QObject, "scheduleModel")
Je n'ai pas idée comment faire cela. Pourrais-tu m'aider s'il te plait? J'utilise python2.7, PyQt5.9, QtQuick2.5