问题
QListView或者QlistWidget通过委托代理delegate实现自定义控件之后,只有双击进入编辑状态,才能显示自定义控件。但是我的需求是在列表中有且只有一个自定义控件一直显示。
解决方案
- 通过QAbstractView的setItemWidget为Item设置自义定控件。 但是这种方案不适合我,因为我用的view、model,不想再重写了。
- 通过QAbstractItemView::openPersistentEditor(const QModelIndex &index)方法,持久化显示一个自定义控件,一直保持编辑状态。 也可以通过closePersistentEditor(const QModelIndex &index)关闭持久化显示。