9

我现在正在使用 QTableView 和 QStandardItemModel。

在 QTableView 中,如果你双击一个单元格,这个单元格将进入编辑模式,你可以编辑它的内容。

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

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

谢谢你的帮助

4

2 回答 2

14

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

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

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

希望这会有所帮助,问候

于 2010-09-10T01:25:29.783 回答
10

看 :

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]
于 2010-09-10T01:23:26.403 回答