4

有没有办法在编辑过程中获取编辑器(一个 QLineEdit 实例)?

4

1 回答 1

7

委托创建编辑小部件,但不存储它并且视图不授予对它的访问权限(可能是因为它不是持久的)。

因此,您必须继承QStyledItemDelegate并重新实现createEditor(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const以存储返回指针的副本。然后,您可以通过委托提供对编辑器的访问权限。

AFAIK 您不能在单个视图中一次创建多个编辑器,并且不鼓励跨视图共享委托,因此保留最后创建的编辑器就足够了。我还将创建一个私有插槽,将指针归零并将其连接到创建的编辑器的破坏信号 - 所以你知道它总是有效的。

于 2013-01-28T13:53:00.270 回答