My problem was solved by modifying the data() method of the StringsModel. This method needs to check for the EditRole as well as the DisplayRole as shown below. if role in [Qt.DisplayRole, Qt.EditRole]: return QVariant(self.strings[index.row()]) Thanks, Tom