2013-04-29 1962 views

回答

3

关于完成编辑的真实信号只能在QAbstractItemDelegate中找到。信号是closeEditor()。如果用户不更改单元格中的任何内容,则模型中的所有其他信号都不起作用,但编辑完成后每次都会关闭委托。正如doc所说:

当用户使用指定的编辑器完成编辑项目 时发出此信号。

该提示为委托人提供了一种方式,可以在编辑完成后影响模型 和视图的行为方式。它向这些 组件指示接下来应该执行什么动作来为用户提供舒适的编辑体验。例如,如果指定了 EditNextItem,则视图应使用委托在模型中的下一个项目上打开 编辑器。

用法:

connect(ui->tableView->itemDelegate(),SIGNAL(closeEditor(QWidget*,QAbstractItemDelegate::EndEditHint)),SLOT(someSlot()));