qt:我想禁用为QTreeView自动设置的键绑定

qt:我想禁用为QTreeView自动设置的键绑定,qt,pyqt,key-bindings,qtreeview,Qt,Pyqt,Key Bindings,Qtreeview,我使用的是PyQt4和QTreeView(尽管这可以很容易地直接应用于qt) 现在有一些默认键绑定,它们使用右箭头和左箭头控制分支的展开/折叠。不幸的是,这些绑定并不理想,我想禁用它们。我一直不知道该怎么做。有人知道如何禁用(或重新分配)QTreeView上的默认密钥绑定吗?有两种可能的选项供您选择: 1) 重新执行QTreeView并检查按键是否为或 2) 您可以安装并检查事件是否为,以及密钥是否匹配或 我不知道PyQt,所以我不能用Python编写代码,但我希望我已经足够清楚了。这些关键是什

我使用的是PyQt4和QTreeView(尽管这可以很容易地直接应用于qt)


现在有一些默认键绑定,它们使用右箭头和左箭头控制分支的展开/折叠。不幸的是,这些绑定并不理想,我想禁用它们。我一直不知道该怎么做。有人知道如何禁用(或重新分配)QTreeView上的默认密钥绑定吗?

有两种可能的选项供您选择: 1) 重新执行QTreeView并检查按键是否为或

2) 您可以安装并检查事件是否为,以及密钥是否匹配或


我不知道PyQt,所以我不能用Python编写代码,但我希望我已经足够清楚了。

这些关键是什么?箭头还是?是的,这些箭头是有问题的,因为我想用它们导航,但它们一直在扩展或折叠行(非常意外)。这看起来很清楚,谢谢。因此,一旦我重新实现keyPressEvent(我正计划执行此操作,因为我想更改一些其他行为),我将不得不手动移动选择,对吗?很抱歉打扰您,但您能告诉我手动移动选择的正确方法吗?我处于QTreeView的按键事件中,并成功拦截左箭头按键。我已经成功地构建了一个引用正确单元格的新QModelIndex,但我不知道如何让QTreeView实际使用这个QModelIndex来选择合适的单元格。当然,一旦我提出一个问题,我就会设法解决它:使用QTreeView的selectionModel。因此,我使用以下行:newmodelnex=self.model().index(行、列、父)self.selectionModel().setCurrentIndex(newmodelnex,QtGui.QItemSelectionModel.SelectCurrent)