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

bvz*_*bvz 2 qt pyqt key-bindings qtreeview

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

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

Liv*_*ive 5

有两种可能的选择: 1)重新实现QTreeView 的keyPressEvent并检查按下的键是否是Qt::Key_UpQt::Key_Down

2)您可以安装一个eventFilter并检查该事件是否是QEvent::KeyPress以及该键是否与Qt::Key_UpQt::Key_Down匹配。

我不了解 PyQt,所以我不能给你 Python 代码,但我希望我已经足够清楚了。