В настоящее время мой виджет календаря отображается с помощью QDataWidgetMapper следующим образом (с использованием PySide):
self.mapper.addMapping(self.ui.calendar, 2, "selectedDate")
И он отображает правильную дату, когда я это делаю:
self.mapper.toFirst()
Но моя проблема в том, что когда я изменяю выбранную дату, щелкая другую дату, сопоставление не фиксирует изменение и не сохраняет его в базе данных. Другими словами, сопоставитель не выдает setData для модели или setModelData, если я решу использовать делегата.
Что мне не хватает?
Изменить: я нашел решение. То, что я сделал выше, было правильным, но картограф не отправлял данные автоматически. Я сделал следующее:
self.ui.calendar.selectionChanged.connect(self.ui.mapper.submit())