2013-09-17 6 views
1

При редактировании ячейки QTableView он открывает пустую запись. Я видел несколько таблиц, которые вставляют предыдущий текст в новую открытую запись и выбирают ее при редактировании ячейки, но не могут найти ее реализацию. Существует ли стандартная опция для QTableview или она должна быть достигнута вручную.Режим редактирования QTableView

ответ

3

Данные вашего узла просмотра дерева, пока он находится в режиме редактирования, определяемый 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(); 
    } 
} 
Смежные вопросы