def test_set_data(self): model = PyListModel([1, 2, 3, 4]) model.setData(model.index(0), None, Qt.EditRole) self.assertIs(model.data(model.index(0), Qt.EditRole), None) model.setData(model.index(1), "This is two", Qt.ToolTipRole) self.assertEqual(model.data(model.index(1), Qt.ToolTipRole), "This is two",) self.assertFalse(model.setData(model.index(5), "foo"))
def data(self, index, role=Qt.DisplayRole): if self._is_index_valid(index): var = self[index.row()] if var is None and role == Qt.DisplayRole: return self.placeholder or "None" if not isinstance(var, Variable): return super().data(index, role) elif role == Qt.DisplayRole: return var.name elif role == Qt.DecorationRole: return gui.attributeIconDict[var] elif role == Qt.ToolTipRole: return self.variable_tooltip(var) elif role == gui.TableVariable: return var else: return PyListModel.data(self, index, role)