QKeyEvent:找到原始小部件?

时间:2012-05-14 14:06:40

标签: events widget pyqt4 keyboard-events

我有一个相当复杂的小部件结构,它代表了一些对象的列表。包含框架对某些QKeyEvent s(例如Alt+Up)作出反应,这些{@ 1}}子窗口小部件不会自行处理。然而,当我收到这个活动时,我想通过

知道它的起源
  1. 获取当前具有键盘焦点的小部件,或者
  2. 获取该小部件的屏幕坐标(之后我可以转换)。
  3. 我无法在这些小部件中处理QKeyEvents,因为他们对父级的功能一无所知 - 具体来说,Alt-Up在列表中移动项目,但项目的编辑器本身并不知道它是在列表中。

1 个答案:

答案 0 :(得分:1)

知道了:

# get focus with keyboard focus
widget=QApplication.focusWidget() 
# use its middle position
globPos=widget.mapToGlobal(QPoint(.5*w.width(),.5*w.height()))