Как запустить режим редактирования элемента в QTableView?
Я использую QTableView и QStandardItemModel сейчас.
В QTableView, если вы дважды щелкните ячейку, эта ячейка перейдет в режим редактирования, и вы сможете редактировать ее содержимое.
Теперь у меня проблема, я хочу активировать режим редактирования элемента по коду (по команде), что мне делать? Я не могу найти правильную функцию или слот в QTableView или QStandardItemModel. Нужно ли испускать какой-либо сигнал, чтобы войти в режим редактирования?
И какой сигнал мне нужно поймать, если я хочу знать, когда редактирование закончится (пользователь нажимает "Enter" или нажимает другие элементы, чтобы выйти из режима редактирования)??
Спасибо за вашу помощь
2 ответа
Увидеть:
void QAbstractItemView::edit ( const QModelIndex & index ) [slot]
void QAbstractItemView::closeEditor ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint ) [virtual protected slot]
void QAbstractItemView::editorDestroyed ( QObject * editor ) [virtual protected slot]
У вас должна быть возможность использовать метод редактирования класса QAbstractItemView для запуска редактирования для данного модельного индекса.
Просьба посмотреть, подойдет ли вам приведенный ниже пример:
QModelIndex index = ui->tableView->model()->index(0, 0, QModelIndex());
ui->tableView->edit(index);
надеюсь, что это помогает, привет