Форум сайта python.su
После того как к QDataWidgetMapper-у подключить QCheckBox:
self.is_restriction = QCheckBox()
self.mapper.addMapping(self.is_restriction, IS_QUESTION_RESTRICTION)
...
self.name_edit = QLineEdit()
self.mapper.addMapping(self.name_edit, NAME)
...
self.mapper.submit()
self.mapper.addMapping(self.is_restriction, IS_QUESTION_RESTRICTION)
Офлайн
Расскажу что де как. Авось кому пригодится.
Видимо PyQt и boolean-тип в SQLite дружат очень слабо.
self.is_restriction.stateChanged.connect(
self.check_box_state_changed)
...
def check_box_state_changed(self):
row = self.mapper.currentIndex()
index = self.model.index(row,
IS_QUESTION_RESTRICTION,
QModelIndex())
value = QVariant(0)
if self.sender().isChecked():
print "check box is on"
value = QVariant(1)
# Some strange unholy magic here:
# value = QVariant(0)
self.model.setData(index, value)
if self.model.submitAll():
self.model.database().commit()
Отредактировано (Дек. 26, 2011 10:40:50)
Офлайн