我目前使用 QDataWidgetMapper 像这样(使用 PySide)映射我的日历小部件:
self.mapper.addMapping(self.ui.calendar, 2, "selectedDate")
当我这样做时,它确实显示了正确的日期:
self.mapper.toFirst()
但我的问题是,当我单击不同的日期更改所选日期时,映射不会捕获更改并将其保存到数据库中。换句话说,如果我选择使用委托,映射器不会在模型或 setModelData 上发出 setData。
我错过了什么?
编辑:我找到了解决方案。我上面做的是对的,但是映射器没有自动提交数据。我所做的是:
self.ui.calendar.selectionChanged.connect(self.ui.mapper.submit())