我已经使用我的数据抽象方案将自己编码到一个角落,这导致我需要在我的视图中使用 editorOpened(QModelIndex) 和 editorClosed(QmodelIndex) 信号(几乎完全是 QTableView)。
原因是我的数据类具有自动行为,需要在编辑期间阻止/禁用,然后再重新启用。
起初我想尝试用自定义委托来做,但由于几个原因遇到了问题:一个是使用为每个项目提供相同行为的自定义委托似乎有点过分,换句话说,它看起来像它应该由视图本身为所有项目完成。第二个问题是委托似乎const
阻止了我为委托中的数据对象设置内部句柄。
查看视图方法,我发现 QAbstractItemView::edit 和 QAbstractItemView::closeEditor 非常适合使用 opens() 和 closed() 信号重新实现,但是我需要正在编辑的特定项目的索引/句柄,我认为我无法从这些方法中获得...
在这一点上,我不知道我还能做什么。我将不胜感激任何正确方向的提示或指示!谢谢阅读