作为已解决的previous question的后续内容,我现在想要使项目可选择。如前所述,我在视图中激活了各种与选择相关的参数,并且还在模型的core.Qt.ItemIsSelectable
- 方法中返回flags
。但是option.state & gui.QStyle.State_Selected
仍然没有填满。任何帮助都非常感谢。另请注意链接问题中的最小示例。
答案 0 :(得分:1)
我自己解决了。问题是,自定义QStyledItemDelegate捕获鼠标事件,因此它不会传递给QListView。所以在QStyledItemDelegate.editor(Event)
只需要添加
if event.type() == core.QEvent.MouseButtonPress:
return False
现在可以使用paint()
在option.state & gui.QStyle.State_Selected
- 方法中检测到选择。