0

我有一个 QTreeView,其数据随时间变化,每秒在 QAbstractItemModel 中发出一个 dataChanged 信号。QTreeView 中的项目也可以编辑,但是当为某个项目打开编辑器时,编辑器字符串会在我编辑时更新,这很烦人。有什么方法可以防止编辑器使用新值更新?

4

1 回答 1

1

QTreeView 使用自己的模型吗?在这种情况下,您将覆盖它并且不会为 Qt::EditRole 返回任何数据。如果您不方便(您希望在开始编辑时将当前数据保存在该字段中),那么您可以创建自己的 QItemDelegate/QStyledItemDelegate 并在那里实现一些自定义逻辑:使其不更新小部件例如,当它具有焦点时,具有新的价值。

虽然我可能会遗漏一些东西,但有一种更简单的方法可以做到这一点。

于 2010-04-07T15:14:52.720 回答