如何从QTableView获取当前编辑器?

Ste*_*ini 3 qt

在编辑过程中是否有获取编辑器(QLineEdit实例)的方法?

cma*_*t85 7

委托创建编辑窗口小部件,但不存储它,并且视图不允许访问它(可能是因为它不是持久的).

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

AFAIK您无法在单个视图中一次创建多个编辑器,并且不鼓励跨视图委派共享,因此保留最后创建的编辑器应该足够了.我还将创建一个私有槽,使指针为空并将其连接到已创建编辑器的已销毁信号 - 因此您知道它始终有效.

  • 指针的存储可以简单地标记为"可变". (2认同)