禁用PyQt箭头键焦点

0 投票
1 回答
1872 浏览
提问于 2025-04-18 14:33

我有一个非常简单的PyQt应用程序,里面有一些按钮和一个复选框。

现在,当我按下方向键时,焦点会在按钮和复选框之间移动。我想要改变这个行为,让它打印出我按下的是哪个键,比如按下“右键”时就打印“right”,而不是把焦点移到下一个组件。

看起来按方向键会生成一个绘图事件(Paint QEvent),而不是按键事件(KeyPress event),所以这些按键事件没有被捕捉到。

任何帮助都非常感谢,谢谢!

1 个回答

3

不太清楚你具体想要实现什么,不过如果没有更多的信息,我建议你可以试着设置一下按钮和复选框的焦点策略,比如:

button = QtGui.QPushButton('button1')
button.setFocusPolicy(QtCore.Qt.NoFocus)

撰写回答