def editorEvent(self, event, model, option, index): value = QStyledItemDelegate.editorEvent(self, event, model, option, index) if value: if event.type() == QEvent.MouseButtonRelease: if index.data(Qt.CheckStateRole) == Qt.Checked: parent = index.parent() for i in range(model.rowCount(parent)): if i != index.row(): ix = parent.child(i, 0) model.setData(ix, Qt.Unchecked, Qt.CheckStateRole) return value
def editorEvent(self, event, model, option, index): #print "editor event" if event.type() == QEvent.MouseButtonDblClick and model.isList(index): # read-only ? if model.flags(index) & Qt.ItemIsEditable: mode = 'w' else: mode = 'r' #print mode data = model.data(index, role=Qt.EditRole) fm = SimpleListDlg(datalist=data, mode = mode) fm.setModal(True) fm.exec_() if fm.values: #print fm.values vals = QVariant.fromList([QVariant(d) for d in fm.values]) model.setData(index, vals) return True return QStyledItemDelegate.editorEvent(self, event, model, option, index)
def editorEvent(self, event, model, option, index): if event.type() == QEvent.MouseButtonRelease: value = model.data(index, Qt.CheckStateRole) model.setData(index, value ^ Qt.Checked, Qt.CheckStateRole) return True return QStyledItemDelegate.editorEvent(self, event, model, option, index)