如何告诉Qt始终在QTableView中显示编辑器?

Geo*_*lly 9 qt qtableview qitemdelegate

我有一个QTableView,我想在编辑模式下显示最后一列.(这是一个QComboBox,用户应该能够始终更改值.)

我想我已经在Qt文档中看到了解决方案,但我再也找不到了.有一个简单的方法吗?

我想我可以通过使用openPersistentEditor()每个单元格来存档这种效果,但我正在寻找更好的方法.(比如只为整列指定一次.)

Geo*_*lly 4

有两种可能:

\n\n

使用setIndexWidget,但 Trolltech 写道:

\n\n
\n

此函数只能用于在与数据项相对应的可见区域内显示静态内容。如果您想显示自定义动态内容或实现自定义编辑器小部件,请改为子类化 QItemDelegate。

\n
\n\n

(它打破了模型/视图模式\xe2\x80\xa6)

\n\n

或者使用委托的paint方法。但在这里,您必须自己实现诸如启用/禁用元素之类的所有内容。

\n