有没有办法在编辑过程中获取编辑器(一个 QLineEdit 实例)?
问问题
1937 次
1 回答
7
委托创建编辑小部件,但不存储它并且视图不授予对它的访问权限(可能是因为它不是持久的)。
因此,您必须继承QStyledItemDelegate
并重新实现createEditor(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const
以存储返回指针的副本。然后,您可以通过委托提供对编辑器的访问权限。
AFAIK 您不能在单个视图中一次创建多个编辑器,并且不鼓励跨视图共享委托,因此保留最后创建的编辑器就足够了。我还将创建一个私有插槽,将指针归零并将其连接到创建的编辑器的破坏信号 - 所以你知道它总是有效的。
于 2013-01-28T13:53:00.270 回答