При редактировании ячейки QTableView
это открывает пустую запись. Я видел несколько таблиц, которые вставляют предыдущий текст в новую открытую запись и выбирают его при редактировании ячейки, но не могут найти его реализацию. Есть ли стандартная опция для QTableview или ее нужно делать вручную.
Данные вашего дерева просмотра узла, когда он находится в режиме редактирования, определяемом QAbstractItemModel::data()
функция с Qt::EditRole
как второй аргумент. В приведенном примере в древовидном представлении отображается строка «Редактирование …» в редакторе (обычно это виджет редактирования строки), когда ваш узел запускает режим редактирования:
QVariant TreeModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
if (role == Qt::EditRole) {
return QString("Editing...");
} else if (role == Qt::DecorationRole) {
[..]
} else {
return QVariant();
}
}
Других решений пока нет …