我现在正在使用QTableView和QStandardItemModel。
在QTableView中,如果双击一个单元格,此单元格将进入编辑模式,您可以编辑其内容。
现在我遇到了问题,我想通过代码(按命令)触发项目的编辑模式,我该怎么办?我在QTableView或QStandardItemModel中找不到合适的功能或插槽。我是否需要发出任何信号才能进入编辑模式?
如果我想知道编辑何时完成,我应该抓住哪个信号(用户按“Enter”或点击其他项目离开编辑模式)??
感谢您的帮助
答案 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]