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

时间:2010-09-09 23:33:34

标签: user-interface qt qt4 qtableview qt4.6

我现在正在使用QTableView和QStandardItemModel。

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

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

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

感谢您的帮助

2 个答案:

答案 0 :(得分:12)

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

请看下面的例子是否适合你:

QModelIndex index = ui->tableView->model()->index(0, 0, QModelIndex());
ui->tableView->edit(index);

希望这有帮助,尊重

答案 1 :(得分: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]