如何触发QTableView中项目的编辑模式?

Cla*_*ang 8 user-interface qt qt4 qtableview qt4.6

我现在正在使用QTableView和QStandardItemModel.

在QTableView中,如果双击一个单元格,此单元格将进入编辑模式,您可以编辑其内容.

现在我遇到了问题,我想通过代码(按命令)触发项目的编辑模式,我该怎么办?我在QTableView或QStandardItemModel中找不到合适的功能或插槽.我是否需要发出任何信号才能进入编辑模式?

如果我想知道编辑何时完成,我应该抓住哪个信号(用户按"Enter"或点击其他项目离开编辑模式)?

谢谢你的帮助

ser*_*nko 12

您应该能够使用QAbstractItemView类的edit方法来触发给定模型索引的编辑.

请参阅下面的示例是否适用于您:

QModelIndex index = ui->tableView->model()->index(0, 0, QModelIndex());
ui->tableView->edit(index);
Run Code Online (Sandbox Code Playgroud)

希望这有帮助,问候


Fre*_*red 8

见:

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]
Run Code Online (Sandbox Code Playgroud)